Я пытаюсь заставить автозаполнение 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]);
}
}
);
}
);