在jquery的多个选择框中设置自动选择值的问题

问题描述

我正在使用skote主题,我想在编辑数据时在多重选择选择框中设置自动选择值,因为我正在尝试使用以下代码this获得这个多重选择框

    <select class="select2 form-control select2-multiple" name="assign_to[]" multiple="multiple"                                     data-placeholder="Choose ...">
    <option value="1" data-select2-id="1">Admin</option>
    <option value="2" data-select2-id="2">Admin2</option>
    <option value="3" data-select2-id="3">Admin3</option>
</select>


    $(document).on('click','.edittodotask',function(e){

    e.preventDefault();
    var id = $(this).attr('id').replace('edittodotask_','');
    var url = "{{route('task_to_do.edit',':id')}}";            
    url = url.replace(":id",id);

    
    $.ajax({
        type: "get",url: url,processData: false,contentType: false,success: function(response) {
            //response = assign_to: "1,2"                
            var assign_to = response.assign_to.split(',');                
            $("#edit_assign_to").val(assign_to);            
        },error: function(data) {
            console.log(data);


        }
    })
    
});

当我单击“编辑”按钮时,我已经使用ajax获取了数据,并且想要为其设置自动选择选项,而我已经编写了此代码

但未设置所选值。

有人可以帮我吗

解决方法

使用select2,您需要手动触发更改。

$("#edit_assign_to").val(response.assign_to.split(',')).trigger('change.select2'); 

如果您的数据以逗号返回1,2,则需要用,除以逗号后的空格。