簡體   English   中英

如何將select2數組輸出轉換為單個字符串?

[英]How to convert select2 array output to single string?

如何將select2數組輸出轉換為單個字符串(以逗號分隔)? 就像這樣"task_owner":"Administrator,abc2" 當前輸出由逗號分隔,但在單個數組"task_owner":["Administrator","abc2"] 這是因為 DB 是通過字符串而不是數組接收的。

另一個問題,如何重新轉換回數組,因為在編輯期間,Ajax 將從 DB 發送該字符串,我可能需要轉換回數組以進行顯示。

我被轉介到此鏈接但不起作用。

<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...
    });
});

正如所討論的:

$(".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...
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM