【发布时间】:2016-10-02 16:07:23
【问题描述】:
我想通过 ajax 请求将 select2 与数据一起使用。但是它显示了这个错误
Error: Option 'ajax' is not allowed for Select2 when attached to a <select> element.
HTML
<select id='myselect' class='select2-input select2'>
<option></option>
<option value="AL">Alabama</option>
<option value="Am">Amalapuram</option>
<option value="An">Anakapalli</option>
<option value="Ak">Akkayapalem</option>
<option value="WY">Wyoming</option>
</select>
JS
$(document).ready(function() {
var base_url = $('#baseurl').val();
$("#myselect").select2({
placeholder: "Select a State",
allowClear: true,
ajax: {
url: base_url + 'selecttest',
dataType: 'json',
type: "GET",
quietMillis: 50,
data: function (term) {
return {
term: term.term
};
},
results: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.expense_detail,
id: item.user_id
}
})
};
}
}
});
像这样获取 JSON 响应
[{"expense_id":"2","user_id":"5","expense_detail":"abcdh1","amount":"123","expense_date":"2016-10-18","expense_type":"pocket","team_code":"0","team_id":"0"},{"expense_id":"3","user_id":"5","expense_detail":"hxyz1","amount":"123","expense_date":"2016-10-11","expense_type":"","team_code":"45664654","team_id":"46546"},{"expense_id":"4","user_id":"5","expense_detail":"abch2","amount":"123","expense_date":"2016-10-11","expense_type":"","team_code":"45664654","team_id":"46546"},{"expense_id":"5","user_id":"5","expense_detail":"abh3","amount":"123","expense_date":"2016-10-11","expense_type":"","team_code":"45664654","team_id":"46546"},{"expense_id":"6","user_id":"5","expense_detail":"ah4","amount":"123","expense_date":"2016-10-11","expense_type":"","team_code":"45664654","team_id":"46546"},{"expense_id":"7","user_id":"5","expense_detail":"h5","amount":"123","expense_date":"2016-10-11","expense_type":"","team_code":"45664654","team_id":"46546"}]
我正在使用这个 select2 版本
版权所有 2012 伊戈尔·韦恩伯格
版本:3.2 时间戳:2012 年 9 月 10 日星期一 10:38:04 PDT
非常感谢任何帮助..谢谢。
【问题讨论】:
-
由于您使用的是低于版本4的
Select2,因此您需要放置一个隐藏元素,如<input type="hidden" id="hiddenElem" style="width:300px" />,并且您现有的初始化应为$("#hiddenElem").select2({...........否则适应Select2的版本4跨度> -
@ArturFilipiak 问题是为什么显示该错误............错误:当附加到
-
@DavidR 谢谢我正在检查它。一旦它工作我会在这里评论。
-
为什么被否决......!
-
@DavidR 我遇到了一个问题,我现在使用 4.0.3 ..现在每个请求为什么 'term' 查询字符串包含这个 ../selecttest?term%5B_type%5D=
标签: javascript php jquery ajax select2