自动完成建议不显示

亚历克斯·弗罗斯特

我有问题 例如,当我以编程方式生成自动完成功能时:

$("#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) {
            //...
        }
    });
});

键入字母后,建议列表不会立即出现,用户需要单击输入之外的内容,然后单击具有自动完成功能的输入以查看一些建议。

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

德史密斯

好的,事实证明您正在以错误的方式处理整件事。

如果您阅读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);
          }
      })
  });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章