[英]Can someone please explain to me how the Callback functions for JQuery Autocomplete work
我正在嘗試使JQuery自動完成以使用一種表單,通過該表單您可以搜索對象的名稱,並且整個對象字段將以選定的結果完成。
當我只需要返回一個字符串時,我的自動完成工作正常,但是現在我需要返回一個更復雜的對象。
我試圖用json和用管道分隔的字符串來做到這一點。 從響應返回的字符串很好,但是自動完成功能不顯示任何結果。
有人可以告訴我我應該使用什么回調將結果分成字符串數組,然后如何訪問和格式化這些字符串以顯示它們?
另外,不同的回調函數的參數是什么,例如parse,formatItem,formatMatch,formatResult等。我真的很困惑,因為幾乎我讀過的每一篇文章都以不同的方式來做,而沒有人解釋實際發生的事情。
為什么無法在Firebug中調試回調? 代碼永遠不會碰到我的斷點
這是我的JavaScript
$(document).ready(
function ()
{
$("input#Venue_Name").autocomplete
(
// data comes back in format VenueId|Name|AddressLine1|AddressLine2|City|PostCode|Country
'<%= Url.Action("FindVenuesComplex","Ajax", new {@area=""}) %>',
{
mustMatch: false,
parse: function (data)
{
return data.split('|');
},
formatItem: function (data)
{
return data[1];
},
formatMatch: function (data)
{
return data[1];
},
formatResult: function (data)
{
return data[1];
}
}
).result
(
function (event, data, formatted)
{
if (data)
{
$("input#Venue_AddressLine1").val(data[2]);
}
}
);
}
);
我弄清楚發生了什么,我想我可以分享,以防其他人遇到同樣的問題。
我使用的是JQuery Autocomplete插件,現在該插件已由Jquery.UI.AutoComplete取代,該插件現在是核心JQuery.UI的一部分,期望的參數有所不同。
我現在正在使用較新的版本。
http://theycallmemrjames.blogspot.com/2010/03/jquery-autocomplete-with-aspnet-mvc.html對於說明如何正確使用JQuery.UI版本非常有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.