Select2 の createSearchChoice 関数の使用
-
12-12-2019 - |
質問
デフォルトのリストでは不十分な場合に、ユーザーが独自の選択肢を入力できるようにするために、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 要素を使用したいと考えていますが (複数のオプションを選択する機能が必要です)、必要なのは、ユーザーが前のリストから選択するだけでなく、独自のオプションを入力できる機能だけです。
解決
ああ、この報奨金をキャンセルするにはどうすればよいですか。私はパニックになりましたが、パニックになったおかげで、私たち二人が探していたものに答えることができました。
使えません 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'}]};
これで私の問題は解決したので、あなたの問題も解決することを願っています。についてもっと読むべきだと思います ドキュメンテーション.
他のヒント
この問題が発生しました。同じフィールドで select2 を 2 回呼び出したことが原因でした