使用Select2的createSearchChoice函数

jrr*_*dnx 22 jquery jquery-select2

我正在尝试使用createSearchChoice函数,以允许用户在默认列表不足时输入自己的选择.当我尝试在<select>元素上使用此函数时,我收到以下错误:

Error: Error: Option 'createSearchChoice' is not allowed for Select2 when attached to a <select> element.

我尝试使用<input type='hidden'>元素,但现在得到以下错误:

Error: uncaught exception: query function not defined for Select2 'MyInputName'

我宁愿使用SELECT元素保持与现有的代码(需要选择多个选项的能力)线,但只需要一个用户能够输入除了从先前的列表中选择自己的选项.

Jür*_*aul 28

天啊,我怎么取消这个赏金.我惊慌失措,由于恐慌,我能够回答我们都在寻找的东西:

不能使用createSearchChoiceselect.所以你必须使用一个input代替.

<input type="hidden" id="category">
Run Code Online (Sandbox Code Playgroud)

修复是使用query参数:

$("#category").select2({query:function(query){
  var data = {results: []};
  data.results.push({text: query.term});
  query.callback(data);
}});
Run Code Online (Sandbox Code Playgroud)

这样做是将当前术语添加到选项中,如果它不存在的话.您可以results像这样填充对象:

var data = {results: [{text:'math'},{text:'science'}]};
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题所以我希望它解决了你的问题.我想我们应该阅读更多关于文档的内容.