2016-11-12 17 views
2

私のJSONレスポンスは、次のとおりです。jqueryのUIのオートコンプリートが機能していない

[{"value":"[email protected]"},{"value":"[email protected]"},{"value":"[email protected]"},{"value":"[email protected]"}] 

私のjQuery:

$("#email1").autocomplete({ 
     source: function (request, response) { 
       $.ajax({ 
         url: "/useremail", 
         dataType: "json", 
         data: { 
          term: request.term 
         }, 
         success: function (data) { 
          //response(data); 
          console.log(data); 
          var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
          response($.grep(data, function(item){ 
           return matcher.test(item); 
          })); 
         } 
       }); 
     }, 
     minLength: 3 
}); 

私はここに私のJSONデータからカスタム検索を実行することはできませんの一例ですカスタム検索が実行されるドキュメントjQuery-ui autocomplete

基本的に私の検索では、入力フィールドに一致する電子メールのみが表示されます。レスポンス(データ)のみを使用すると、すべての結果が表示されますが、検索は表示されません。

+0

ようこそスタックオーバーフローに!良い質問をするのを助けるために私たちの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –

答えて

1

これを試してください:

success: function (data) { 
      //response(data); 
      console.log(data); 
      var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
      var d = $.grep(data, function(item) { 
       return matcher.test(item.label || item.value || item); 
      }); 
      response(d); 
} 
+0

あなたのansは完璧です。それを編集すると、余分な文字を入れました。つまり、 ')'はvar matcher変数にあります。 – aqiltariq65

+0

私は自分の答えを更新しました! –

関連する問題