我已经将this作为基础问题使用了。
我创建了一个JsFiddle试图找出为什么这不起作用,而对于我的生活,我无法解决它。即使将“H”的结果作为lastName的第一个字母输入,也不会找到任何结果。
有人可以看一下,看看为什么这不匹配?
$(document).ready(function asdf() {
var users = [
{
id: "5",
userName: "Tclyde",
firstName: "Terry",
lasttName: "Adams",
},
{
id: "6",
userName: "LH",
firstName: "Leonie",
lasttName: "Henderson",
},
{
id: "7",
userName: "CharlesO",
firstName: "Charles",
lasttName: "O'Dwyer",
},
{
id: "2",
userName: "si2030",
firstName: "Simon",
lasttName: "O'Farrell",
},
{
id: "4",
userName: "blade44",
firstName: "Clyde",
lasttName: "Palmer",
},
{
id: "3",
userName: "tt2030",
firstName: "David",
lasttName: "Remmy",
}];
$("#search").autocomplete({
source: function (req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp("^" + re, "i");
var a = $.grep(users, function (item, index) {
return matcher.test(item.lastName);
});
a = $.map(a, function (x) {
return {
label: x.lastName + ", " + x.firstName,
value: x.id,
users: x
};
});
responseFn(a);
},
select: function (event, ui) {
location.href = "/UserAdmin/Edit/" + ui.item.id;
},
change: function (event, ui) {
if (!ui.item) {
$("#search").val("");
}
}
});
});
答案 0 :(得分:1)
几乎没有错别字。有一个键lasttName
,但您使用的是lastName
$(document).ready(function() {
var users = [{
id: "5",
userName: "Tclyde",
firstName: "Terry",
lasttName: "Adams",
}, {
id: "6",
userName: "LH",
firstName: "Leonie",
lasttName: "Henderson",
}, {
id: "7",
userName: "CharlesO",
firstName: "Charles",
lasttName: "O'Dwyer",
}, {
id: "2",
userName: "si2030",
firstName: "Simon",
lasttName: "O'Farrell",
}, {
id: "4",
userName: "blade44",
firstName: "Clyde",
lasttName: "Palmer",
}, {
id: "3",
userName: "tt2030",
firstName: "David",
lasttName: "Remmy",
}];
$("#search").autocomplete({
source: function(req, responseFn) {
addMessage("search on: '" + req.term + "'<br/>");
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp("^" + re, "i");
var a = $.grep(users, function(item, index) {
return matcher.test(item.lasttName); //Changed here
});
a = $.map(a, function(x) {
return {
label: x.lasttName + ", " + x.firstName, //Changed here
value: x.id,
users: x
};
});
addMessage("Result: " + a.length + " items<br/>");
responseFn(a);
},
select: function(event, ui) {
location.href = "/UserAdmin/Edit/" + ui.item.id;
},
change: function(event, ui) {
if (!ui.item) {
$("#search").val("");
}
}
});
function addMessage(msg) {
$('#msgs').append(msg);
};
});
选中此jsFiddle