【问题标题】:Prevent Autocomplete suggest list after entery key is press按下回车键后阻止自动完成建议列表
【发布时间】:2016-08-26 12:32:28
【问题描述】:

我已经在淘汰赛中实现了 jquery 自动完成插件,它的功能运行良好。

有一个需求标签和关键字搜索。当自动提示的数据为标签搜索,手动输入为关键字搜索时,按回车键后进行搜索。

当我输入一些关键字并按回车键时,问题出现了,文本输入值应形成为 taggedit 样式控件,并且自动建议在延迟后加载,在这种情况下不应该。当我从建议列表中选择数据并按回车键时工作正常。

如何防止在输入后按回车键自动提示列表如果加载有延迟。

【问题讨论】:

    标签: javascript jquery jquery-ui knockout.js autocomplete


    【解决方案1】:

    编辑:

    $(function() {
    
        var availableTags = [
                "item1","item2","item3"
            ];
    
        $("#search").autocomplete({
            source:availableTags,
            minLength: 0
        }).keyup(function (e) {
            if(e.which === 13) {
                $(".ui-menu-item").hide();
            }            
        });
    });​
    

    【讨论】:

    • 对不起,Darcey,我不希望当我按下回车键时该项目成为焦点,而不是我需要在按下回车键后关闭建议列表。如果有一些延迟。跨度>
    • 感谢您的回复,如果 ajax 调用开始并按回车键,这会起作用吗?因为我从远程 webapi 设置数据源。
    • 我不是 100% 确定测试一下 :) 还可以进一步查看 laktek.com/2011/03/03/introducing-jquery-smart-autocomplete 并进行更多谷歌搜索以找出答案。编程乐趣的一部分是您遇到的压力错误:D
    【解决方案2】:

    我已使用以下代码使其工作。但正在寻找更好的解决方案。

          keyup(function (e) {
          if(e.which === 13) {
                       $("#txtSearchAuto").autocomplete({
                            disabled: true
                        });                       
                    }
    

    并在css中添加样式

    .ui-autocomplete-disabled{display:none !important}

    最后在文本框按键事件中启用自动完成

              if (event.keyCode !== 13){
               if (self.SearchInput().length >=2)
                $("#txtSearchAuto").autocomplete({
                    disabled: false
                });
               }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-02
      • 2013-06-01
      • 1970-01-01
      • 2011-12-06
      • 2012-08-18
      • 2011-08-24
      • 2019-09-01
      • 1970-01-01
      相关资源
      最近更新 更多