У меня работает автозаполнение для названий штатов и провинций. Я хочу передать аббревиатуру штата следующему каскаду автозаполнения. Я создал скрытый ввод и хочу установить для него аббревиатуру при выборе названия штата, затем я выберу аббревиатуру для использования в автозаполнении следующего уровня, чтобы ограничить запрос города только одним штатом. На предыдущем шаге у меня есть переключатели страны, устанавливающие ограничение штата в параметре данных .ajax, чтобы вы могли видеть (в целом), что я хочу сделать на этом уровне штата/города. Я пробовал несколько вещей, много искал в Google и читал книги по jQuery, но мне нужна помощь. Поле ввода stateProvince автоматически дополняется и выбирает полное имя штата. Скрытый ввод не задается аббревиатурой. Предупреждение пустое. Я не уверен ни в успехе ajax, ни в функциях выбора ajax. Как сделать, чтобы аббревиатура (а не имя) была значением скрытого ввода? и как я могу затем выбрать его в опции данных .ajax следующего уровня? Вот соответствующий код.
выбранный HTML без символов тегов:
тип ввода = "текст" id = "stateProvince" имя = "stateProvince" размер = "50" maxlength = "50" тип ввода = "скрытый" id = "hiddenState" имя = "hiddenState"
Исходный код автозаполнения ajax;
$("#stateProvince").autocomplete
({
source: function( request, response )
{
//Pass the selected country to the php to limit the stateProvince selection to just that country
$.ajax(
{
url: "getStateProvince.php",
data: {
term: request.term,
country: $('input[name=country]:checked').val() //Pass the selected country to php
},
type: "POST",
dataType: "json",
success: function( data )
{
response( $.map( data, function( item )
{
return{
label: item.stateName,
value: item.name,
abbrev: item.stateAbbrev
}
}));
},
select: function( event,ui )
{
$(this).val(ui.item.value);
$("#hiddenState").$(this).val(ui.item.abbrev);
}
});
alert('|' + $("#hiddenState").val() + '|2nd'); //doesn't trigger here; shows no content when placed in the next tier Autocomplete
},
minLength: 2
});
Пример JSON, возвращенный из php:
[{"stateName":"Алабама","name":"Алабама","stateAbbrev":"AL"},{"stateName":"Аляска","name":"Аляска","stateAbbrev":"AK "}]