Это мой код, который я использую для автозаполнения (из 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 с одинаковым значением val ...

1
FireFoxII 27 Апр 2016 в 10:52

2 ответа

Лучший ответ

Вы можете использовать $(this) в функции выбора, которая относится к целевому элементу ввода. вместе со следующим селектором для выбора следующего скрытого ввода:

$( '[id^=rubrica_]' ).autocomplete({
source:'content/json/autocomplete.php', 
minLength:2,
select: function(event,ui){
   $(this).next().val(ui.item.id);
 }
});   
2
Milind Anantwar 27 Апр 2016 в 07:59

Вы можете использовать класс для присвоения значения одним и тем же элементам

<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);
}
 });   
0
Nilesh Daldra 27 Апр 2016 в 12:10