2016-08-01 110 views
0

我只想顯示從用戶輸入的匹配字符開始的結果。我想避免它們發生在中間。我怎樣才能在打字前做到這一點。如何獲得僅匹配字符的第一個字符匹配結果

這裏是我的js代碼:

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

你必須重新定義datumTokenizer。這是假設您的自動補全值是針對對象陣列中的字段「鍵」的示例

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