【问题标题】:How to display Autocomplete suggestions only after Enter is pressed?如何仅在按下 Enter 后显示自动完成建议?
【发布时间】:2018-11-14 18:21:51
【问题描述】:

我想仅在用户按下 Enter 键后显示自动完成建议。

阅读api docs 后,我怀​​疑我需要覆盖search eventchange 之一,但我不知道该怎么做。特别是,search 事件是:

在执行搜索之前触发,在满足 minLength 和 delay 之后。如果取消,则不会启动任何请求并且没有项目 建议。

我想做的是取消事件,除非按下回车键。如何在下面的 init 函数中做到这一点?

$(".selector").on("autocompletechange", function(event, ui) {});

或者还有其他更好的方法吗?

【问题讨论】:

  • 你想在输入键后显示自动完成吗?
  • 是的,完全正确 - 仅在输入按键后
  • 你需要更改 jQuery UI 库
  • 我应该如何更改 JQuery UI 库?

标签: jquery autocomplete


【解决方案1】:

您需要更改您的 jquery 库事件以捕捉回车键事件并执行您的功能。在此功能中,只有回车键将打开下拉菜单,其余事件将被禁用。

$(".selector").autocomplete({
                keypress: function (event, ui) {
                    if (event.which == 13) {
                        console.log("Key Pressed");
                    }
                    else
                        return false;
                }
            });

【讨论】:

    【解决方案2】:

    我的建议是让 onchange 事件每次都被调用,但是当你按下 Enter 键时,你会专门获取详细信息。您可以从事件中检测到按下的键。下面是一个示例 -

    function(event, ui) {
        if(event.keyCode == 13){
            //write code to populate the Autocomplete
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-27
      • 2018-07-31
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多