Select2 の最新バージョン: Select2 4.0を使用しています。
ユーザーが自由にテキストを入力できるようにしたいと考えています。つまり、ユーザーがドロップダウン (ajax によって返されるデータ) でオプションを見つけることができない場合、入力したテキストを「選択」できるようにしたいと考えています。
これは私のマークアップです:
<select class="required form-control" id="businessName" data-placeholder="Choose An Name" > </select>
これは、Select2 の初期化に使用している JavaScript です。
$("#businessName").select2({
ajax: {
url: "/register/namelookup",
dataType: 'json',
delay: 250,
type: 'post',
data: function (params) {
return {
businessName: params.term, // search term
page: params.page
};
},
processResults: function (data, page) {
return {
results: data.items
};
},
cache: false
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 4,
createSearchChoice:function(term, data) {
if ( $(data).filter( function() {
return this.text.localeCompare(term)===0;
}).length===0) {
return {id:term, text:term};
}
},
});
追加しましcreateSearchChoice
たが、うまくいきません。この回答も見ましたが、これまでのところ運がありません。