2016-04-27 122 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

这会影响所有隐藏的输入元素。 –

相关问题