2016-08-01 15 views
0

ユーザーが入力した文字から始まる結果のみを表示したい。彼らが真ん中にいるのなら避けたい。私は先にこれをどうやって行うことができますか?あなたはdatumTokenizerを再定義する必要が先読みのみの結果と一致する最初の文字を取得する方法

var cities = new Bloodhound({ 
    datumTokenizer: Bloodhound.tokenizers.whitespace, 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    prefetch: '/getcities' 
}); 

$('#city').typeahead({ 
    hint: true, 
    highlight: true, 
    minLength: 3, 
    limit: 10 
}, { 
    name: 'cities', 
    source: cities 
}); 

答えて

0

は、ここに私のJSコードです。これは、オートコンプリートの値がオブジェクトの配列内のフィールド「キー」の値であると仮定した例です。

datumTokenizer: function(d){ 
         var tokens = []; 
         var stringSize = d.key.length;        
         for (var i = 0; i<= stringSize; i++){ 
           tokens.push(d.key.substr(0, i)); 
          } 
         return tokens; 
        }, 
関連する問題