Я пытаюсь создать функцию автозаполнения с поиском адреса, используя автозаполнение jQuery. На этот раз асинхронные запросы как пользовательские типы на самом деле не осуществимы, я использую JSON, который написан в HTML (я знаю :(!).Как изменить значение jQuery ui выбор автозаполнения (или предложить альтернативу)
Автозаполнение, похоже, работает, в этом адресе добавляются в раскрывающийся список и может быть выбрана, но проблема в том, что я хочу вырезать выбранное значение и изменить значение на входе с автозаполнением на нем.
например, если у меня есть поле под названием «address1», у которого есть автозаполнение то, когда пользователь выбирает адрес (например, «2 дороги, некоторые пригорода, некоторые города») Я только один первая часть, чтобы оставить в поле # aDDRESS1, а не полный адрес.
var addressLines;
var dataSource = jQuery.parseJSON($('#collectionAddresses').text());
if($('#collect-address-line-one')) {
$('#collect-address-line-one').autocomplete({
delay: 5,
minLength: 1,
select : function(event, ui){ // fires when user selects an item from the address dropdown, with click or enter for example
addressLines = ui.item.value.split(",");
var pCode = $('#collectionPostcode').val();
$('#collect-address-line-one').val(addressLines[0].trim());
if(addressLines[1] != null) {
$('input#collect-address-line-two').val(addressLines[1].trim());
if(addressLines[2] != null && addressLines[2].trim() !== pCode) {
$('input#collect-address-line-three').val(addressLines[2].trim());
if(addressLines[3] != null && addressLines[3].trim() !== pCode) {
$('input#collect-address-line-four').val(addressLines[3].trim());
}
}
}
},
close: function(){ // fires when the autocomplete drop down closes, eg client deletes all input or clicks away from field
},
source : dataSource
});
}
У меня был код, который отбрасывает значения в функции события «закрыть», которая, казалось, сработала, но если пользователь удалил содержимое с первого входа, автозаполнение вернет значение обратно, чтобы пользователь не мог " t начните снова, если они совершили ошибку.
Поэтому я переместил этот код в событие «select», которое работает, за исключением того, что я не могу изменить значение во вводе на измельченную строку, а только полное значение адреса из виджета автозаполнения.