Javascript Select2下拉列表中未显示来自服务器的响应
这是我的ajax,用于在Javascript Select2下拉列表中未显示来自服务器的响应,javascript,json,html,asp.net-mvc-4,Javascript,Json,Html,Asp.net Mvc 4,这是我的ajax,用于在select2下拉列表中显示搜索项。但问题是。我收到服务器响应,但该响应未显示在select2下拉列表中 $('#txtTest').select2({ minimumInputLength: 2, ajax: { url: "/student/list/", dataType: 'json', type: "Get", data: function(query) {
select2
下拉列表中显示搜索项。但问题是。我收到服务器响应,但该响应未显示在select2
下拉列表中
$('#txtTest').select2({
minimumInputLength: 2,
ajax: {
url: "/student/list/",
dataType: 'json',
type: "Get",
data: function(query) {
alert(query.term);
return { q: query.term };
},
processResults: function(data,page) {
console.log(data);
return {
results:data
}
}
}
});
控制器
public JsonResult list(string q)
{
var obj = (from c in db.selects
where c.name.ToLower().StartsWith(q.ToLower().Trim())
select new
{
Id=c.ID,
Text=c.name
}).ToList();
return Json(obj, JsonRequestBehavior.AllowGet);
}
在“查看我的隐藏文本”字段中
<input type="hidden" id="txtTest" class="input-xlarge" data-placeholder="Choose An Option.." />
看起来您正在使用Select2 v4。如果是这种情况,则需要将隐藏的输入元素更改为select元素 从:
已替换所有选项的
(包括远程数据)
您可以使用:
<select id="txtTest" class="input-xlarge" data-placeholder="Choose An Option..">
</select>
我已将我的txt字段从更改为不工作…@ShahzadAshraf-您能否确认您正在使用Select2 v4(因为它与以前的版本有很大不同)?另外,你能显示从ajax调用返回的数据是什么样子吗?这是我的服务器响应..当我在输入字段中键入“sh”.[{“Id”:1,“Text”:“shahzad ashraf”},{“Id”:6,“Text”:“shah”}]非常感谢你…兄弟..它工作了..你能解释一下你在processresults中添加的代码吗?@shahzadahraf-如果答案解决了你的问题,您可以单击它旁边的复选标记。
processResults: function(data) {
return {
results: $.map(data, function(item) {
return { id: item.Id, text: item.Text };
})
};
}