Javascript jQuery自动完成和复制输入字段

Javascript jQuery自动完成和复制输入字段,javascript,jquery,json,autocomplete,Javascript,Jquery,Json,Autocomplete,当前有一个用于创建内部订单的表单 零件号字段是通过循环此字段创建的 <input name="part[]" type="text" value="" class="pn-autocomplete" /> jQuery Autocomplete用于显示描述列表,但在框中输入零件号 <script> $(function() { $( ".pn-autocomplete" ).autocomplete({ source: "pn-json-2.ph

当前有一个用于创建内部订单的表单

零件号字段是通过循环此字段创建的

<input name="part[]" type="text" value="" class="pn-autocomplete" />
jQuery Autocomplete用于显示描述列表,但在框中输入零件号

<script>
$(function() {
    $( ".pn-autocomplete" ).autocomplete({
        source: "pn-json-2.php",
        minLength: 2,
        focus: function( event, ui ) {
            $(this).val( ui.item.pn );
            return false;
        },
        select: function( event, ui ) {
            $(this).val( ui.item.pn );
            return false;
        }
    })
    .autocomplete( "instance" )._renderItem = function( ul, item ) {
        return $( "<li>" )
            .append( "<a>" + item.desc + "</a>" )
            .appendTo( ul );
    };
});
</script>
问题: 只有字段的第一个实例显示条目。所有其他显示类似的下拉列表,但没有文本说明,不允许选择零件


我相信答案很简单,但我不知道我做错了什么

您必须首先覆盖小部件工厂方法。试试这个

$.widget( "ui.autocomplete", $.ui.autocomplete, {

      options: {
         renderItem: null,
      },

      _renderItem: function( ul, item ) {
            return $( "<li>" )
            .append( "<a>" + item.desc + "</a>" )
            .appendTo( ul );
      },

   });

这里有一个例子。

不完全是我最后使用的,但非常接近,它突出了我的错误,给了我一些调查的东西。多谢各位。
$(function() {
    $( ".pn-autocomplete" ).autocomplete({
        source: "pn-json-2.php",
        minLength: 2,
        focus: function( event, ui ) {
            $(this).val( ui.item.pn );
            return false;
        },
        select: function( event, ui ) {
            $(this).val( ui.item.pn );
            return false;
        }
    });
});