select2插件初始化时如何赋多个值?
var ch_num = $("input[name='media_chn_num']").val().split(",");其中有个坑,就是必须要在 所有的 .select2()之后加val来赋值。我之前只在第一个select2之后加了,发现怎么都没法显示多个值,只能显示一个值,找了好久问题。后来发现在所有的select2之后都加上后,就能成功显示了。
$("#chn_num_android").select2({
placeholder:'请选择渠道',
data:channelsAndroidArr
}).val(ch_num).trigger('change');//当val()中传入["111","222"]这样的数组时,就能显示多个值。如果只想显示一个值,则传入"111"就好了,无需数组
//AD Exchange 安卓渠道号获取
$('#chn_num_android').select2({
minimumInputLength: 1,
multiple: true,
separator: ",",
createSearchChoice: function(term, data) { // 创建搜索结果(使用户可以输入匹配值以外的其它值)
return {
id: term.mid,
text: term.name
};
},
formatSelection: function(item) {
return item.name;//注意此处的name,要和ajax返回数组的键值一样
},
formatResult: function(item) {
return item.name;//注意此处的name
}, // 搜索列表中的显示
ajax: {
url: "/media/channelKeySearch?type=android", // 异步请求地址
dataType: "json", // 数据类型
data: function(term, page) { // 请求参数(GET)
return {
q: term
};
},
results: function(data, page) {
return data;
}, // 构造返回结果
escapeMarkup: function(m) {
return m;
} // 字符转义处理
}
}).val(ch_num).trigger('change');
另外,select2这个下拉框插件真是好用,可以在下拉框中加图片,可以级联显示,可以在下拉框中点选标签……哇,真是太好用了。发现一个人的博客中写得挺好的,特此记录下来:http://www.cnblogs.com/wuhuacong/p/4761637.html