2016-04-27 102 views
1

的輸入這是我的代碼,我使用的自動完成功能(從PHP的分貝我得到的ID和姓名)jQuery中處理多個ID和更新只相同的ID

<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 ...

+1

您是否能更改HTML類:與下一個選擇一起到下一個隱藏的輸入目標?如果可以,我會添加一個'data-'屬性來配對它們,例如''那麼你的最後一行可以是'$(」input:hidden [data-in ='「+ $(this).data(」in「)+」'「」)。 val(...' –

回答

2

您可以在選擇函數中使用$(this),該函數引用目標輸入元素。

$('[id^=rubrica_]').autocomplete({ 
source:'content/json/autocomplete.php', 
minLength:2, 
select: function(event,ui){ 
    $(this).next().val(ui.item.id); 
} 
}); 
0

您可以使用分配的值相同的元素

<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

這會影響所有隱藏的輸入元素。 –