javascript - 如何将 select2 数组输出转换为单个字符串?
问题描述
如何将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...
});
});
推荐阅读
- google-cloud-platform - GCP PubSub:“请求被中止,因为没有可用的实例。” - 不重试失败
- cassandra - Cassandra 集群:多个节点的写入速度降低
- python - 有什么方法可以根据文件的一行打印特定的字符串?
- reactjs - 如何提取作为道具传递给React函数组件的属性的嵌套类型
- ios - 字符串与 evaluateJavaScript 中的预期模式不匹配
- android - Google Play 应用更新上传失败 14 次
- apache-spark - 如何将 sklearn 中的函数用于 pyspark
- amazon-web-services - terraform 应用 pass 变量来部署特定的 ECS
- flutter - Flutter 设置原生键盘大写锁定
- mongodb - mongodb管道限制为1