我使用的是select2插件(ivaynberg.github.io/select2)。我试图显示一个下拉列表(选择)。它正在将data.PHP中的所有项目作为选项。但是select2意味着是自动完成插件,并且应该搜索客户端输入的搜索项,并仅显示匹配结果。目前它正在显示所有的项目,而不是获得搜索结果。对不起我的语言
data.PHP正在回应:
[{ "id": "1","text": "item1","exercise": "blah text" },{ "id": "2","text": "item2" } ]
代码是:
$(document).ready(function () { $('#thisid').select2({ minimumInputLength: 2,ajax: { url: "data.PHP",dataType: 'json',data: function (term,page) { return { q: term }; },results: function (data,page) { return { results: data }; } } }); });
输入是:
<input type="hidden" id="thisid" style="width:300px" class="input-xlarge" />
我想找到一个线索,我对这个插件来说很新,花了一天时间来看一下例子。
解决方法
如果附加到标准选择表单控件,select2将不会执行AJAX。它必须附加到一个隐藏的输入控件,以通过AJAX加载。
更新:已在Select2 4.0中修复。从Pre-Release notes:
Consistency with standard
<select>
elements for all data adapters,removing the need for hidden<input>
elements.
也可以在examples section的功能中看到。