【发布时间】:2012-01-24 16:21:16
【问题描述】:
我通过 ajax 调用完成了 jquery 自动完成。我正在我的代码后面的方法中进行过滤。我不想在 UI 中过滤它们。怎么做。更具体地说,如果用户键入“St”。例如我正在返回具有“St”的值。以及结果中的“圣”。但是 jquery 没有显示带有“Saint”的结果。如何让 jquery 自动完成功能也显示“Saint”?
Jquery 中的代码
function GetNames(text) {
$.ajax({
type: "POST",
url: "Default.aspx/GetSchools",
dataType: "json",
data: '{ "data":"' + text + '"}',
contentType: "application/json; charset=utf-8",
success: function(data) {
$('#university').autocomplete({
source: data.d,
focus: function(event, ui) {
$('#university').val(ui.item.Descr);
return false;
},
select: function(event, ui) {
$('#university').val(ui.item.Descr);
$('#universityID').val(ui.item.UnivCode);
return false;
}
});
}
});
}
.cs 文件中的代码隐藏
public static List<DataClass.School> GetSchools(string data)
{
DataTable dt = (DataTable)HttpContext.Current.Session["Schools"];
data = data.ToLower();
Debug.WriteLine(data);
var ret = new List<TestApplication.DataClass.School>();
ret = (from l in dt.AsEnumerable()
let s = l["Descr"].ToString().ToLower()
where (s.Contains(data) || s.Contains("saint"))
select new TestApplication.DataClass.School
{
Descr = l["Descr"].ToString(),
UnivCode = l["UnivCode"].ToString()
}).Take(20).ToList();
Debug.WriteLine(ret.Count.ToString());
return ret.ToList();
}
【问题讨论】:
-
如果您向我们展示您的代码,我们可以提供更好的帮助
-
好的。我对 AjaxAutocomplete 进行了同样的尝试,并且效果很好。我不确定我在 JQuery 中缺少什么。
标签: jquery asp.net autocomplete