select2初始化默認選中值(多選)


 

$('body').on('click', '.btnedit', function() {  //點擊按鈕事件
$('input[name=name]').val($(this).attr('data-name')); //name賦值
$('input[name=nickname]').val($(this).attr('data-nickname')); //nickname賦值

var tag=$(this).attr('data-tagid_list');
var ddd = [];
var data =<?php echo json_encode($groups);?>;
var aarr=eval(data);
for(i=0;i<aarr.length;i++){
ddd.push(aarr[i]['name']);
}
$("#tags").select2({
data: ddd,
placeholder: "請選擇啊"

});
$("#tags").val(tag.split(",")).trigger('change');
});

 

 

 

 

 

 

之前用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了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM