我正在尝试使用createSearchChoice函数,以允许用户在默认列表不足时输入自己的选择。当我尝试使用这个功能在< select>元素,我得到以下错误:
错误:错误:附件到< select>时,Select2的选项’createSearchChoice’不允许元件。
我尝试使用< input type ='hidden'>元素,但现在得到以下错误:
错误:未捕获异常:查询函数未为Select2’MyInputName’定义
我更喜欢使用select元素来保持与现有代码保持一致(需要选择多个选项的能力),但是除了从先前列表中进行选择之外,还需要用户输入自己的选项。
解决方法
哦,天啊,我如何取消这个赏金。我恐慌,由于恐慌,我能够回答我们都在寻找:
您不能在select上使用createSearchChoice。所以你必须使用一个输入。
<input type="hidden" id="category">
修复是使用查询参数:
$("#category").select2({query:function(query){ var data = {results: []}; data.results.push({text: query.term}); query.callback(data); }});
这样做是将当前术语添加到选项,如果它不在那里。您可以像这样填充结果对象:
var data = {results: [{text:'math'},{text:'science'}]};
这解决了我的问题,所以我希望它解决了你的问题。我想我们应该在documentation年阅读更多。