我正在使用最新版本的 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
,但它不起作用。我也看过这个答案,但到目前为止还没有运气。