isNaN然后显示不工作
问题描述:
我有这个简单的自动完成与JSON结果。假设没有适合显示div的值(所以用户可以创建一个新实体),并且我不明白为什么它不显示隐藏的div。isNaN然后显示不工作
public JsonResult GetSubjectsName(string term)
{
var results = db.subjects.Where(s => term == null || s.SubjectName.ToLower().Contains(term.ToLower()))
.Select(x => new
{
id = x.SubjectId,
value = x.SubjectName
}).Distinct().ToList();
return Json(results, JsonRequestBehavior.AllowGet);
}
$("#term").autocomplete({
source: function (request, response) {
$.ajax({
url: "GetSubjectsName",
data: "{'term': '" + request.term + "' }",
dataType: 'json',
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data, function (item) {
if (isNaN(item.id)) {
$("#divId").show("slow");
};
return {
label: item.value,
value: item.value,
id: item.id,
}
}));
}
});
},
minLength: 2,
});
答
您在返回的科目List
,我以为一切都将有一个id
。
你的支票,而不是if isNaN
,可能是检查length
: -
success: function(data) {
if (!data.length) {
$("#divId").show("slow");
} else {
response($.map(data, function(item) {
return {
label: item.value,
value: item.value,
id: item.id,
}
}));
}
}
感谢你的帮助,它的做工精细。 – Danny
很高兴我能帮到你。 – BenG