2014-10-06 61 views
0

我有2「input s與」文本「類型,相同的id和相同的名稱(如複製粘貼),我的問題是當我使用自動完成唯一的第一個激活自動填充,但第二個不是。我需要一些幫助,通過使用相同的ID和第一個相同的名字來激活第二個。自動完成不適用於兩個相同ID的元素

這是我的代碼:

<script> 
    $(function() { 
     $('#id').autocomplete({ 
      source: "show.php",minLength: 2, 
      select: function(event, ui) { 
       $('#name').val(ui.item.name); 
      } 
     }); 
</script> 

<input type="text" class="code" id="id" name="customFieldName[]" value="" placeholder="รายชื่อยา" /> 

<input type="text" class="code" id="id" name="customFieldName[]" value="" placeholder="รายชื่อยา" /> 

Fiddle

+7

元素ID **必須是唯一的。這就是爲什麼只使用第一個元素的原因(如果標準說元素ID在頁面上是唯一的,誰將搜索具有相同ID的第二個元素?)。 – Regent 2014-10-06 17:23:40

+1

你不能有多個元素相同的ID,使用'$('。code')'而不是選擇 – juvian 2014-10-06 17:24:04

+2

這個問題實際上自己回答 – Huangism 2014-10-06 17:29:05

回答

2

你應該給輸入唯一的ID,並調用自動完成這樣的:

<script> 
    $(function() { 
     $('#id, #id2').autocomplete({ 
      source: "show.php",minLength: 2, 
      select: function(event, ui) { 
       $('#name').val(ui.item.name); 
      } 
     }); 
</script> 

<input type="text" class="code" id="id" name="customFieldName[]" value="" placeholder="รายชื่อยา" /> 

<input type="text" class="code" id="id2" name="customFieldName[]" value="" placeholder="รายชื่อยา" /> 
+0

值得一提的是類「代碼」的方式。 – Regent 2014-10-06 17:44:02

0

不能使用兩個相同的idId必須是唯一的。如果你想使用兩個相同的名字,你必須使用class而不是id

相關問題