自动填充建议不会显示

时间:2014-07-10 09:37:53

标签: javascript jquery jquery-autocomplete

我有一些问题。 当我以编程方式生成自动填充时,例如:

$("#body_person_name").keyup(function () {
    if ($("#body_person_name").val().length < 3) return;
    var suggestions = [];
    $.getJSON("some_external_api_resource.com/get_some_names", function (data, status) {
        $.each(data, function (key, value) {
            suggestions.push({
                value: value,
                data: key
            });
        });
    });

    $("#body_person_name").autocomplete({
        lookup: suggestions,
        minChars: 3,
        autoFocus: true,
        onSelect: function (suggestion) {
            //...
        }
    });
});

在输入字母后,建议列表不会直接显示,用户需要单击输入,然后单击带有自动完成功能的输入以查看一些建议。

我真的不明白如何解决这个问题=(

1 个答案:

答案 0 :(得分:0)

好的,事实证明你正以错误的方式接近这一切......

如果你阅读了jQuery UI自动完成文档,你会看到所需的一切选项。它几乎都是为你而构建的。

  $(function () {

      $("#body_person_name").autocomplete({
          source: function (request, response) {
              $.ajax({
                  url: 'your_url',
                  success: function (data) { // modify your response here.
                      response($.map(data, function (value, key) {
                          console.log(value, key);
                          return {
                              value: value,
                              data: key,
                              label: value
                          };
                      }));
                  }
              });
          },
          minLength: 3, // set the min characters to type to initiate ajax call
          select: function (event, ui) {
              console.log(ui.item);
          }
      })
  });
相关问题