我已经看过关于SO和Git中心的多个问题:
但我似乎还无法弄清楚为什么没有设置这些值。
我使用的是jinja2模板,因此我会生成生成的html / js:
<div class="form-group">
<label class="control-label col-sm-4" for="message_type">Meassage Type</label>
<div class="col-sm-5">
<input type="hidden" name="message_type" id="message_type" readonly />
</div>
</div>
和js:
$(function () {
$("#message_type").select2({
placeholder: "Email/SMS/PIMS Modal",
multiple: true,
width: "300px",
tokenSeparators: [',', ' '],
data: [{
id: "email",
text: "Email"
}, {
id: "pims modal",
text: "PIMS Modal"
}, {
id: "sms",
text: "SMS"
}, ],
});
$("#message_type").select2("val", "pims modal");
});
我还设法重现了结果,请参阅example。
答案 0 :(得分:2)
出现此问题是因为您已将multiple
属性设置为true。在这种情况下,要设置一个值,您需要使用数组而不是字符串。
例如:
$(function () {
$("#message_type").select2({
placeholder: "Email/SMS/PIMS Modal",
multiple: true,
width: "300px",
tokenSeparators: [',', ' '],
data: [{
id: "email",
text: "Email"
}, {
id: "pims modal",
text: "PIMS Modal"
}, {
id: "sms",
text: "SMS"
}, ],
});
$("#message_type").select2("val", ["email"]);
});
这里的工作演示:http://jsfiddle.net/nww22qoj/19/
编辑:这是一个使用4.0.1版本的插件http://jsfiddle.net/nww22qoj/20/(使用插件的完整版本)的工作jsfiddle