0
我必須在文本框中鍵入一些關鍵字服務器返回該JSON格式:如何訪問自動完成選擇時返回的JSON值?
[{"id":1,"value":"some string!"}]
,我想,當用戶選擇一個項目,使用瀏覽器選擇的id
導航到另一個頁面;它存在於返回的JSON中。這是我的自動完成代碼:
$(function() {
$("#search-box").autocomplete({
source: function (request, response) {
$.ajax({
type: "GET",
url: "../Contenthandler/Search.ashx",
dataType: "json",
data: 'query=' + request.term,
success: function (data) {
response($.map(data, function (item) {
return { label: item.value };
})
);
}
});
},
minLength: 3,
open: function() {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function() {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
},
select: function (event, ui) {
if (ui.item) {
window.location.href = "../ControlPanel.aspx?id=" + ui.item.id;
}
}
});
});
但ui.item.id
是undefined
。如何在選擇活動中訪問id
(1)?
根據你的JSON結果例如,最外的數據元素是一個數組。所以你需要在這一點上引用數組符號。 – Taplar
@Taplar so,如何訪問'id'? –
您是否收到回覆?換句話說,你的'成功'處理程序曾經被稱爲? @Totlar的觀點是結果對象* isnt json *,但是你的ajax調用期望得到一個json響應。 – wahwahwah