デフォルトのリストでは不十分な場合に、ユーザーが独自の選択を入力できるように、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要素を使用して既存のコードと一致するようにしたいのですが(複数のオプションを選択する機能が必要です)、前のリストから選択することに加えて、ユーザーが独自のオプションを入力する機能が必要です。
ああ、どうすればこの賞金をキャンセルできますか。私はパニックに陥り、パニックに陥ったため、私たち2人が探しているものに答えることができました。
createSearchChoice
でselect
を使用することはできません。したがって、代わりにinput
を使用する必要があります。
<input type="hidden" id="category">
修正は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'}]};
これで私の問題は解決しました。 documentation についてもっと読む必要があると思います。
私はこの問題を抱えていましたが、同じフィールドでselect2を2回呼び出すことが原因でした