我正在尝试使用Meteor JS和Select2实例化一个多选框。我的html位于模板中,如下所示:
<template name="selectbox">
<select id="testbox">
<option value="AL">Alabama</option>
<option value="AL">Washington</option>
</select>
</template>
在我的客户端js中,我有以下代码:
Template.selectbox.rendered = function(){
var options = { allowClear : true, multiple : true }
$("#testbox").select2(options);
};
不幸的是,我的浏览器控制台会产生以下错误:
Exception from Deps afterFlush function: Error: Option 'multiple' is not allowed for Select2 when attached to a <select> element.
我还尝试将以下代码直接放在我的客户端js文件中(以及Template.selectbox.create中):
$(document).ready(function(){
var options = { allowClear : true, multiple : true }
$("#testbox").select2(options);
});
不幸的是我收到了同样的错误。奇怪的是,如果我的选择很简单,我就不会收到任何错误:
var options = { allowClear : true, placeholder : 'test' }
这两个选项似乎都没有生效。但是,选择框的渲染是selct2的渲染。
知道可能是什么问题吗?谢谢你提前。
答案 0 :(得分:1)
了解the example上的select2 website是如何制作的。根据该代码,您应该将multiple
属性添加到select标记,而不是js方法参数。
因此,在您的模板中,将<select id="testbox">
替换为<select multiple id="testbox">
。