select2初始化默认选中值(多选)

 之前用select2初始化默认值使用了select2('val','1'),这样做没问题,但只能用在单选上,多选的话,即使将val后面的值改成数组['0', '2']这种形式也没用。

<script type="text/javascript">
    $(document).ready(function() {
      var data = [{ id: 0, text: 'aaa' }, { id: 1, text: 'bbb' }, { id: 2, text: 'ccc' }];
      $(".js-example").select2({
        data: data,
        placeholder: "请选择啊"
        
      });
      $(".js-example").select2('val','1')
    });
</script>

<select class="js-example new-select" multiple="multiple">
</select>

如何初始化出多选呢,在stackoverflow找到了答案,那就是用$(".js-example").val(['0','2']).trigger('change')这种方法。

把上面代码中的$(".js-example").select2('val','1')换成$(".js-example").val(['0','2']).trigger('change')就OK了。

 

js 控制:

$("#Ctr_Proc_Name").select2({ multiple: true, tags: true });       //需要先设置为可多选
if (json.Ctr_Proc_Name != '') {
var arrValue = json.Ctr_Proc_Name.split(',');      // json.Ctr_Proc_Name 从后台返回的值: CELL,CELL-BM,WELDING,FT,PT  , 

                                                                            // 应用split方法后得到数组 arrValue=[“CELL","CELL-BM","WELDING,FT","PT"]
$("#Ctr_Proc_Name").val(arrValue).trigger('change');    //将数组传入 val()并触发change事件
}

posted @ 2021-04-19 20:39  VinceLi  阅读(796)  评论(0编辑  收藏  举报