【问题标题】:How to convert select2 array output to single string?如何将 select2 数组输出转换为单个字符串?
【发布时间】:2020-03-28 09:18:52
【问题描述】:

如何将select2数组输出转换为单个字符串(以逗号分隔)?就像这个"task_owner":"Administrator,abc2"。当前输出用逗号分隔,但在单个数组"task_owner":["Administrator","abc2"] 中。这是因为 DB 是通过字符串而不是数组接收的。

另一个问题,如何重新转换回数组,因为在编辑过程中,Ajax 会从 DB 发送该字符串,我可能需要转换回数组以进行显示。

我被推荐给这个Link,但没有工作。

<form id="myForm">
    <select type="text" class="form-control myClass" id="myID" multiple="multiple"></select>
</form>

$('.myClass').select2({
    tags: true
 });    

$('#btnSubmit').on('click',function(){
    var testOutput = "";   // I put this because an error appear so I create a new var but the output is = "null", why?
    var owner = $('#myID').val();

    if (owner.val() !== null && owner.val().length > 0){
        var testOutput = $('#myID') = owner.val().join(',');
        testOutput = Object.assign({}, {task_owner: testOutput.task_owner.join(",")})
    }

    // parameter that need to send to API
    var obj = {
        task_owner : testOutput,
        // Another parameter...
    };
    var params = JSON.stringify(obj);

    $.ajax({
        // My Ajax Condition...
    });
});

【问题讨论】:

  • var testOutput = $('#myID') = mySelect.val().join(','); testOutput = Object.assign({}, {task_owner: testOutput.task_owner.join(",")})
  • 嗨,在 curly Object.assign({} 里面需要存储什么吗?还是那样?对不起,我是新人。
  • 就这样!就是合并2个对象
  • 抱歉或者直接使用var testOutput = $('#myID') = mySelect.val().join(','); testOutput = {task_owner: testOutput.task_owner.join(",")}
  • 我没有得到答案,请稍等,我会用正确的代码更新我的问题并让您知道。

标签: javascript jquery html bootstrap-4 jquery-select2


【解决方案1】:

如前所述:

$(".myClass").select2({
  tags: true
});

$("#btnSubmit").on("click", function() {
  var testOutput = ""; // I put this because an error appear so I create a new var but the output is = "null", why?
  var owner = $("#myID").val(); //
  if (Array.isArray(owner) && owner.length) {
    testOutput = owner.join(",");
  }
  var obj = {
    task_owner: testOutput
  };
  var params = JSON.stringify(obj);

  $.ajax({
    // My Ajax Condition...
  });
});

【讨论】:

  • 如果你不忙,你能再帮我一下吗? Link
  • 现在缺少什么??
  • 这个贴已经完结了,还有一个链接,上面提供就好了。
猜你喜欢
  • 1970-01-01
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 2017-10-01
  • 2020-01-03
相关资源
最近更新 更多