2016-05-01 17 views
0

ノックアウトでjqueryオートコンプリートプラグインを実装しましたが、機能は正常です。Enterキーを押した後にオートコンプリート候補リストを表示しない

要件タグとキーワード検索があります。 autosuggestからのデータがタグ検索であり、手作業で入力されたデータがキーワード検索である場合、それはEnterキーを押した後に検索を実行します。

キーワードを入力してEnterキーを押すと、taginitスタイルのコントロールとしてtextinput値が形成され、いくつかの遅延の後に自動候補が読み込まれ、この場合は表示されません。私が提案したリストからデータを選んだときにEnterキーを押すとうまくいきます。

入力した後に自動候補リストが表示されないようにするには、入力の遅れがある場合はを入力してください。

答えて

0

EDIT:

$(function() { 

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

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

ダーシー、私は入力キーが押されたときに項目がフォーカスになることを望んでいません。入力キーが押された後に提案リストを閉じる必要があります。 –

+0

これを変更した場合、分かりにくい理由がわかりません。理由はわかりません。 –

+0

返信ありがとうございます。ajaxコールが開始され、Enterキーを押した場合、これが動作しますか?リモートWebAPIからデータソースを設定しています。 –

0

私はそれがよりよい解決策を探して.Butを動作させるために、次のコードを使用しています。

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

とCSSで

{表示:なし重要!} .ui-オートコンプリート不可スタイルを追加

、最終的にはテキストボックスのキーでイベント

  if (event.keyCode !== 13){ 
      if (self.SearchInput().length >=2) 
      $("#txtSearchAuto").autocomplete({ 
       disabled: false 
      }); 
      } 
をオートコンプリートを有効にします