来自服务器的响应未显示在 Select2 下拉列表中
Response from server is not showing in Select2 dropdown
这是我的ajax,用于在下拉列表中显示搜索项目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。如果是这种情况,您需要将隐藏的输入元素更改为选择元素。
从 Select2 4.0.0 beta 1 发行说明中:
<select>
已替换所有选项的<input type="hidden" />
(包括远程数据)
您可以使用:
<select id="txtTest" class="input-xlarge" data-placeholder="Choose An Option..">
</select>
此外,返回的对象应具有id
和text
属性,而它们当前具有Id
和Text
属性。更改服务器代码以返回正确的属性名称,或更改 processResults
函数以更正对象。
processResults: function(data) {
return {
results: $.map(data, function(item) {
return { id: item.Id, text: item.Text };
})
};
}
斯菲德尔
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 如何使用 jquery 检查该值是否存在于带有标签的 select2 下拉列表中:true
- esc键关闭引导模式,但没有't关闭其中的select2下拉列表
- 来自服务器的响应未显示在 Select2 下拉列表中
- 防止 select2 向上翻转下拉列表
- Select2 以编程方式设置搜索词并打开包含相关结果的下拉列表(无 ajax 调用)
- 防止 select2 下拉列表的自动触发事件调用函数
- select2 rails gem:已安装资产并调用函数,但下拉列表未更改(TypeError:undefined不是函
- 将select2下拉列表的内容替换为ajax调用中的数据
- Select2下拉列表允许在用户键入时按用户显示新值
- 如何使Bootstrap Select2下拉列表在单击时转到选定的URL
- 如何改变下拉列表在select2的父容器
- Jquery-select2 -将select2添加到现有的下拉列表代码中以使其可搜索
- 如何使用JQuery通过选项列表索引号改变JQuery-select2下拉列表的选择值
- Select2-打开下拉列表后形成下拉列表时需要一个事件
- 无法从 select2 下拉列表中选择结果