自动完成不会't适用于具有相同id的两个元素

Autocomplete doesn't work for two elements with same id

本文关键字:id 元素 两个 适用于      更新时间:2023-09-26

我有两个类型为"text"、id相同、名称相同的input(就像复制粘贴一样),我的问题是当我使用自动完成时,只有第一个会被激活为自动完成,但第二个不会。我需要一些帮助,通过使用与第一个相同的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。

您应该为输入提供唯一的id,并像这样调用auto-complete:

<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="รายชื่อยา" />

不能使用两个相同的idId必须是唯一的。如果要使用两个相同的名称,则必须使用class而不是id