[英]How to convert select2 array output to single string?
How to convert select2
array output to single string (separated by comma)?如何将
select2
数组输出转换为单个字符串(以逗号分隔)? Just like this "task_owner":"Administrator,abc2"
.就像这样
"task_owner":"Administrator,abc2"
。 Current output is separated by comma but in single array "task_owner":["Administrator","abc2"]
.当前输出由逗号分隔,但在单个数组
"task_owner":["Administrator","abc2"]
。 This is because the DB is received by string, not array.这是因为 DB 是通过字符串而不是数组接收的。
Another question, how to re-convert back to array since during editing, Ajax will send that String from DB and I maybe need to convert back to Array for display purpose.另一个问题,如何重新转换回数组,因为在编辑期间,Ajax 将从 DB 发送该字符串,我可能需要转换回数组以进行显示。
I was referred to this Link but not working.我被转介到此链接但不起作用。
<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...
});
});
As dicussed:正如所讨论的:
$(".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.