Это мой код, который я использую для автозаполнения (из php db я получаю идентификатор и имя)
<input type="text" id="rubrica_1"><input type="hidden" id="value_1">
<input type="text" id="rubrica_2"><input type="hidden" id="value_2">
<input type="text" id="rubrica_3"><input type="hidden" id="value_3">
Тогда скрипт
$( '[id^=rubrica_]' ).autocomplete({
source:'content/json/autocomplete.php',
minLength:2,
select: function(event,ui){
$( '[id^=value_]').val(ui.item.id);
}
});
С этим решением я обновляю все value_1, value_2 и value_3 с одинаковыми значениями …
Ты можешь использовать $(this)
в функции выбора, которая относится к целевому элементу ввода. вместе со следующим селектором для выбора следующего скрытого ввода:
$( '[id^=rubrica_]' ).autocomplete({
source:'content/json/autocomplete.php',
minLength:2,
select: function(event,ui){
$(this).next().val(ui.item.id);
}
});
Вы можете использовать класс для присвоения значения тем же элементам
<input type="text" id="rubrica_1"><input class="same_id" type="hidden" id="value_1">
<input type="text" id="rubrica_2"><input class="same_id" type="hidden" id="value_2">
<input type="text" id="rubrica_3"><input class="same_id" type="hidden" id="value_3">
$( '[id^=rubrica_]' ).autocomplete({
source:'content/json/autocomplete.php',
minLength:2,
select: function(event,ui){
$( '.same_id').val(ui.item.id);
}
});