按下entery键后防止自动完成建议列表

时间:2016-05-01 18:56:04

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

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

有一个需求标记和关键字搜索。当autosuggest的数据是标签搜索并且手动键入的是关键字搜索时,它将在点击回车键后执行搜索。

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

如果加载有延迟,如何在输入后按阻止输入键时阻止自动建议列表

2 个答案:

答案 0 :(得分:0)

编辑:

$(function() {

    var availableTags = [
            "item1","item2","item3"
        ];

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

答案 1 :(得分:0)

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

      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
            });
           }