【发布时间】: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