我有如下所示的代码。当我取消注释
区域时 alert('Key ' + item.KeyID)
我确实得到了关键值。但是当我这样做时:
select: function (event, ui)
并尝试获取它显示为未定义的KeyID。
$(document).ready(function () {
$('#Company').autocomplete(
{
source: function (request, response) {
$.ajax({
url: '@Url.Action("AutoCompleteCompany", "Main")',
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
//alert('Key ' + item.KeyID);
//alert('Value ' + item.KeyValue);
return {label: item.KeyValue, val: item.KeyID };
}))
}
})
},
select: function (event, ui) {
alert(ui.item.KeyID); // shows undefined
}
});
})
答案 0 :(得分:0)
在数组中尝试以下加载源,然后加载自动完成对象
function loadData() {
$.ajax({
url: '@Url.Action("AutoCompleteCompany", "Main")',
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
jsdata = data.d;
for (k = 0; k < jsdata.Object.length; k++) {
arrayObject.push({ label: jsdata.Object[k].nombre, id: jsdata.Object[k].id, other: jsdata.Object[k].other });
}
}
});
}
然后
var arrayObject= [];
$(document).ready(function () {
$('#Company').autocomplete({
source: arrayObject,
select: function (event, ui) { alert(ui.item.id); }
});
});