jQuery自动完成没有显示

时间:2012-03-23 17:55:36

标签: jquery autocomplete

我已经浏览过很多关于此事的帖子,但我认为我的内容比我发现的要简单得多。我的字段正在成功请求数据,但未显示它。我认为这与CSS有关,以显示它。我正在使用jQuery UI CSS来显示它,就像我在其他网站上所做的那样:

<link href="/css/console/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" />

这是我试图展示它的地方。我在这做错了什么?我已经在其他网站上工作了。

<input type="text" name="userSearch" id="userSearch"/>
<input class="button" style="top: -1px; margin-left: 5px;" type="button" value="SEARCH" />
<input type="hidden" id="hiddenUserWom" value="" /></span></div>
      <script type="text/javascript" src="/js/jquery-ui-1.8.18.custom.min.js"></script>
      <script type="text/javascript">
      $('#userSearch').autocomplete({
            source: '/console/ajax/user_search_autocomplete.php',
            minLength: 3,
            select: function (event, ui) {
                $("#userSearch").val(ui.item.label); 
                $("#hiddenUserWom").val(ui.item.id);
        }
      });

      $(document).ready( function () {
          $("#userSearch").focus();
      });
      </script>

以下是成功返回的数据: 这是回报的一个例子:

[{“label”:“5U5NU - Devin Parker - Vacaville,CA”,“id”:“5U5NU”}]

从官方网站获取的jQuery UI数据格式说明:

  

预期数据格式

     

来自本地数据,网址或回调的数据可以分为两部分   变体:

     

一个字符串数组:[“Choice1”,“Choice2”]一个对象数组   标签和值属性:[{label:“Choice1”,value:“value1”},   ......]

这应该可以正常工作。

以下是网站:http://wombusiness.com/console/members/

这是需要自动完成的强力搜索字段。

2 个答案:

答案 0 :(得分:2)

将您的自动填充功能放入$(文档).ready

<input type="text" name="userSearch" id="userSearch"/>
<input class="button" style="top: -1px; margin-left: 5px;" type="button" value="SEARCH" />
<input type="hidden" id="hiddenUserWom" value="" /></span></div>
  <script type="text/javascript" src="/js/jquery-ui-1.8.18.custom.min.js"></script>
  <script type="text/javascript">


  $(document).ready( function () {
  $('#userSearch').autocomplete({
        source: '/console/ajax/user_search_autocomplete.php',
        minLength: 3,
        select: function (event, ui) {
            $("#userSearch").val(ui.item.label); 
            $("#hiddenUserWom").val(ui.item.id);
    }
  });
      $("#userSearch").focus();
  });
  </script>

问题#2 $(“#userSearch”)。val(ui.item.label); 您正在使用自己的数据覆盖自动填充。

答案 1 :(得分:0)

问题在于从PHP返回。如果您尝试完全相同但在数组中使用固定集作为源,则自动完成功能非常完美。

JSON编码似乎很好。

我知道您不需要或使用它,但请尝试在每个项目中添加value。我不确定,但value可能是必填字段,而且测试它会比对我来说更容易。