【发布时间】:2016-01-09 21:49:37
【问题描述】:
我有下一个 html 结构
<select class="change_item_dropdown_ajax form-control" id="item_id" name="item_id" onchange="updateData(this, this.value, 16)" >
<optgroup label="System Data">
<option value="17">Test</option>
<option selected="selected" value="18">System</option>
</optgroup>
</select>
Javascript
$(".change_item_dropdown_ajax").select2({
ajax: {
url: "get_user_items",
dataType: 'json',
delay: 250,
theme: "classic",
data: function (params) {
return {
q: { name_contains: params.term } // search term
};
},
processResults: function (data) {
return {
results: data
};
},
cache: true
},
allowClear: true,
placeholder: '--- Please select item ---',
minimumInputLength: 1
});
我想让客户有可能看到带有项目<optgroup label="System Data"> 的一些默认系统选项,而且还增加了通过他自己的项目进行搜索 ajax 查询的能力。
但是在绑定 select2 后它不显示<optgroup label="System Data">...</optgroup>,
select2 选项为空,仅显示提示“请输入 1 个或多个字符”。
目前还不清楚是否可以,谢谢。
UPD 与select2 removes default options when using ajax相关
Select-2 在使用 ajax 适配器时删除选项。
UPD2 github问题https://github.com/select2/select2/issues/3828
【问题讨论】:
-
所以,您基本上希望拥有一个始终可见的 optgroup,无论客户端搜索什么,在此之下,在另一个 optgroup 中,您想查看搜索结果吗?
-
只有当输入中没有文本时,用户才会在搜索输入下的下拉菜单中看到默认值
标签: jquery-select2 jquery-select2-4