22

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 要素を使用したいと思いますが (複数のオプションを選択する機能が必要です)、ユーザーが以前のリストから選択するだけでなく、独自のオプションを入力できるようにする必要があります。

4

2 に答える 2

28

なんてこった、この賞金をキャンセルするにはどうすればよいですか。私はパニックに陥り、パニックのおかげで、私たちが探していたものに答えることができました。

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'}]};

これで私の問題は解決したので、あなたの問題が解決したことを願っています。ドキュメントについてもっと読むべきだと思います。

于 2012-07-29T07:40:01.610 に答える
2

私はこの問題を抱えていましたが、同じフィールドでselect2を2回呼び出すことが原因でした

于 2013-04-05T17:43:27.940 に答える