Jquery 自动完成:如何在页面加载时填写输入

问题描述 投票:0回答:2

我设置了一个 jquery 自动完成来查询端点以获取输入中的选择(一旦开始输入):

   $("#brand-select").autocomplete({
    source: function(request, response) {
      $.getJSON(
        '/networks?search='+request.term ,
        function(data) {
          data = JSON.parse(data);
          response(data);
        }
      );
    },
    minLength: 1,
    multiselect: true
  });

有没有办法可以填写自动完成功能,以便立即在输入中包含文本(在页面加载时)?

比如设置了自动补全后,我想让输入自动显示‘ABC’

我知道这是不对的,但我已经尝试过了:

$("#brand-select").autocomplete(["ABC"]);
javascript jquery html jquery-ui-autocomplete
2个回答
0
投票

大概

brand-select
是一个输入框?因此,您可以直接注入值(如果您使用脚本来构建 HTML),这样您最终会得到类似
<input type="text" id="brand-select" value="ABC"/>
的结果。

或者您可以使用标准 jQuery 来填充它,例如

$("#brand-select").val("ABC");

自动完成与下拉和搜索相关,但下面的输入框没有改变,所以你可以像其他输入一样对待它。

附注如果您希望它根据该文本自动执行搜索,请调用自动完成的“search()”方法(请参阅https://api.jqueryui.com/autocomplete/#method-search),例如

$("#brand-select").autocomplete("search");


0
投票

要实现这一点,您只需要一段简单的代码即可为元素分配一个

conclusive value
,然后关注它。

     $('#brand-select').autocomplete({

        lookup:function(request, response) {
          $.getJSON(
            '/networks?search='+request.term ,
            function(data) {
              data = data; // Data is already in JSON format
              response(data);
            }
          );
        },
        minLength: 1,
        multiselect: true
        onSelect: function (suggestion) {

            var name = suggestion.value;
        }
    });

现在设置值并将焦点放在元素上

  $("#brand-select").val('ABC').focus();
  // Ensure that ABC is available in the lookup / source

 

结论性值意味着当自动完成查找或搜索源时,它只会得到一个值。

© www.soinside.com 2019 - 2024. All rights reserved.