Jquery:如何为页面上的多个搜索字段启用自动完成功能?

时间:2011-04-20 16:46:05

标签: javascript jquery jquery-ui

我在页面上有三个行为完全相同的搜索表单,并且我想将自动填充附加到所有三个表单。这是我在页面上的Jquery脚本:

<script>
  $(function() {
    $( ".search-form" ).autocomplete({
      dataType: "json",
      source: "/app/searches.js"
    })
    .data( "autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li></li>" )
      .data( "item.autocomplete", item )
      .append( item.desc )
      .appendTo( ul );
    };
  });
</script>

以及三个搜索表单字段:

<input id="search1" class="search-form"/>

<input id="search2" class="search-form"/>

<input id="search3" class="search-form"/>

自动完成功能仅适用于第一个输入字段(search1) - 即显示来自json字符串的数据。

但是对于其他搜索字段(search2和search3),我只获得空白列表(“<li></li>”)而没有来自JSON字符串的任何数据。

有没有办法将自动完成功能附加到所有三个搜索字段,以便所有三个显示来自JSON字符串的数据?

1 个答案:

答案 0 :(得分:2)

This demo对我来说很好。

在您的代码中,它只更改了一个自动填充实例的_renderItem函数。

修改jQuery UI Autocomplete Formatting for Multiple Elements

可能重复