使用Select2的createSearchChoice函数

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

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

我尝试使用元素,但现在得到以下错误:

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

我更喜欢使用select元素与现有代码保持一致(需要能够选择多个选项),但除了从先前列表中选择之外,还需要用户能够输入自己的选项。

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

您不能在select上使用createSearchChoice 。 所以你必须使用input

  

修复是使用query参数:

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

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

 var data = {results: [{text:'math'},{text:'science'}]}; 

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

我有这个问题,这是因为在同一个字段上调用select2两次