2009-03-26 12 views
0

フルネームのリストを検索できるようにします。私が見たオートコンプリートのデモはすべて最初から検索しています。私は姓にもマッチしたいと思うほど良いことはありません。jqueryオートコンプリートで全文検索を行うことはできますか?

少なくともワード境界に従えば、全文検索なしで暮らすことができます。ここでタグ検索のようなソート。それは何ですか?

乾杯

答えて

0

できます。実際の検索を行うサーバー側の関数から項目を取得するだけです。たとえば、SQLサーバー。パフォーマンスを考慮する必要があります。行数が多くなると、「ばらつきのある」オートコンプリートを作成するのに十分な時間がかかることがあります。ここで

+0

私は唯一の300の項目のように持っています。 Ajaxは殺し過ぎたようです。 – Jordie

0

はあなたの検索用語に複数の単語の一部を持っている場合でも、最初と最後の両方の名前を検索しスニペットです:

var arrayOfNames = [{first:"John", last:"Box"},{first:"Rachel", last:"Park"} 
       ,{first:"Rachel", last:"Dark"},{first:"Rachel", last:"Luck"}]; 

$("#input").autocomplete({ 
    source: function(request, response) { 
     var names = []; 
     var searchTerms = request.term.split(" ");; 
     $.grep(arrayOfNames, function(person, i) { 
      var matches = 0; 

      $.each(searchTerms, function(i, term) { 
       if(person.first.indexOf(term)>=0 || person.last.indexOf(term)>=0) 
        matches++; 
      }); 

      if(matches == searchTerms.length) 
       names.push({value:person.first+" "+person.last}); 
     }); 

     response(names); 
    } 
}); 

は、ここでは、アクションでそれを参照してください:http://jsfiddle.net/t29req1s/1/

関連する問題