【发布时间】:2013-05-13 11:25:09
【问题描述】:
假设我有一个从 asmx 文件/Web 服务文件中获取的 json 对象。
[
{
"UserName": "hl",
"FirstName": "hendra",
"LastName": "lim"
},
{
"UserName": "wd",
"FirstName": "wildan",
"LastName": "dan"
},
{
"UserName": "gd",
"FirstName": "genin",
"LastName": "gn"
},
{
"UserName": "tr",
"FirstName": "tere",
"LastName": "magda"
}
]
当我尝试访问它时,我会这样做:
$("#tags").autocomplete({
source: availableTags,
focus: function (event, ui) {
$("#tags").val(ui.item.FirstName);
return false;
},
select: function (event, ui) {
$("#tags").val(ui.item.FirstName);
return false;
}
});
你知道吗?它不工作......这让我头疼了2天。但后来我将我的 json 对象更改为:
[{"label": "hendra", "value": "hl"},
{"label":"wildan", "value": "wd"},
{ "label": "genin", "value": "gn"},
{"label": "hendrik", "value": "hdrik"}]
$("#tags").autocomplete({
source: availableTags,
focus: function (event, ui) {
$("#tags").val(ui.item.label);
$('#key').val(ui.item.value);
return false;
},
select: function (event,ui){
$('#tags').val(ui.item.label);
$('#key').val(ui.item.value);
return false;
}
});
这是有效的,但是现在我想知道为什么当我使用第一种方法时 jquery 自动完成功能不起作用,浪费了我 2 天的时间并且让我超级头疼想弄清楚,但仍然无法得到它,jquery如果我使用没有工作
ui.item.FirstName
但它可以使用
ui.item.label or ui.item.value
我的第一种方法有问题吗?我认为它与第二个几乎相同,唯一不同的是在 json 对象中,一个使用“用户名,名字等”,另一个使用“标签和值”。
【问题讨论】:
标签: jquery json jquery-ui autocomplete arrays