如何在Select2 jquery中显示多重选择?

问题描述 投票:0回答:1

我的数据库将信息以Administrator,Anna的形式存储在String中,因此,如果我想在Select2中显示此预选内容,正如我所知,它必须在Array中显示(抱歉,如果我错了)。问题,我需要将其拆分为Array并显示。

不幸的是,两个名称都没有显示。

enter image description here

名称均已在Array中拆分。

enter image description here

像这样的名字单身出现。

enter image description here

那么如何解决呢?

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){}
});
javascript jquery jquery-select2
1个回答
0
投票

您可以使用$("#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>
© www.soinside.com 2019 - 2024. All rights reserved.