我的数据库将信息以Administrator,Anna
的形式存储在String中,因此,如果我想在Select2中显示此预选内容,正如我所知,它必须在Array中显示(抱歉,如果我错了)。问题,我需要将其拆分为Array并显示。
不幸的是,两个名称都没有显示。
名称均已在Array中拆分。
像这样的名字单身出现。
那么如何解决呢?
JS:
$.ajax({
...
success: function(response){
if (response.status == "Success"){
$("#editLayer3ActivityOwner").val(response.data[0]["task_owner"]).attr("disabled",false);
$(response.data).each(function(key,value){
var owners = value.task_owner.split(',');
$(owners).each(function(k,v){
$("#editLayer3ActivityOwner").append($("<option>", {
response: v,
text: v
}));
});
console.log(owners);
$("#editLayer3ActivityOwner").select2();
});
}
else {}
},
error: function(e){}
});
您可以使用$("#sel").val(["Administrator","Anna"]).change();
方法。因此您可以直接通过$("#editLayer3ActivityOwner").val(response.data).change();
$("#sel").select2({ width: '100%', placeholder: "Choose", allowClear: true });
$("#sel").val(["Administrator","Anna"]).change();
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.12/js/select2.min.js"></script>
<select id="sel" multiple name="sel">
<option value="Administrator">Administrator</option>
<option value="Anna">Anna</option>
</select>