之前用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了。
select2
设置默认值
一般jq的select
进行赋值就是
$('select').val('3')
实践证明:select2
的赋值方法并非如此,
for example:
<!DOCTYPE html>
<html>
<head>
<metacharset="UTF-8">
<title></title>
<linkrel="stylesheet"type="text/css"href="bootstrap.min.css"/>
<linkrel="stylesheet"href="select.min.css"/>
</head>
<body>
<selectid="select1"multiple="multiple"style="width:200px;display:block;margin:300px;">
<option value="0">西瓜</option>
<option value="1">苹果</option>
<option value="2">橘子</option>
</select>
</body>
<scripttype="text/javascript"src="6选项卡/js/jquery-1.11.3.js"></script>
<script src="select2.js"></script>
<script>
$('#select1').select2();
$('#select1').val(['1']).trigger('change');//这个就是select2的赋值方式。而val里的就是option的value
</script>
</html>
最后的结果就是默认显示为:
补充:
可以对select
进行复制多个值—可以进行数组的赋值
var arr = ['1','2','3'];
$('#select1').val(arr).trigger('change');