发布版本(选择4.0.1)
HTML
<select id="search_customers" style="width: 300px;"></select>
使用Javascript:
$("#search_customers").select2({
multiple: false,
allowClear: true,
ajax: {
url: "@Url.Action("
SearchCustomers ", "
Home ")",
dataType: 'json',
delay: 250,
data: function(params) {
return {
id: params.term, // search term
};
},
processResults: function(data, params) {
return {
results: data
} // Data is a List<T> of id an text
},
}
});
下拉列表有效,我可以看到我的记录,但是,当我点击其中一个选项时,该框关闭,并且未显示所选记录。我的框看起来像这样
我已经尝试了我能想到的一切。该问题出现在所有浏览器中。返回的数据是id / text对的列表。
控制器代码
var customers = this.service.SearchCustomers(id).Select(x => new { id = x.CustomerID, text = x.CustomerName }).ToList();
return Json(customers, JsonRequestBehavior.AllowGet);
答案 0 :(得分:0)
我的客户ID出于某种原因有领先的空间。 (旧的ERP系统),所以添加.Trim()调用客户ID上的select语句修复它。显然,select2并不喜欢&#34; 56&#34;,但&#34; 56&#34;很好!