2017-08-22 68 views
0

我使用jQuery v1.10.2的和我下面的代碼:jQuery UI的自動完成功能篩選僅

(function() { 
    var manufacturers=[]; 
    manufacturers.push({ 
    label:'Ismail Mayat', 
    value:'Ismail Mayat [email protected]' 
    }); 
    $('#list').autocomplete({ 
     source: manufacturers 
     }).data('autocomplete')._renderItem = function(ul, item) { 
     var term = $('#list').val(); 
     var label = item.label.replace(new RegExp(term, 'i'), '<span class="highlight">$&</span>'); 

     return $('<li></li>') 
     .data('item.autocomplete', item) 
     .append('<a>' + label + '</a>') 
     .appendTo(ul); 
    }; 

})(); 

,當我搜索伊斯梅爾或mayat我拿到賽。但是,當我搜索信息,我沒有得到任何結果。如果我將信息部分移到標籤上,那麼它就可以工作。過濾器正則表達式是否只使用標籤進行搜索?我也試圖通過添加代碼來超過正則表達式:

$.ui.autocomplete.filter = function (array, term) { 
    var matcher = new RegExp('(^|)' + $.ui.autocomplete.escapeRegex(term), 'i'); 
    return $.grep(array, function (value) { 
     return matcher.test(value.label || value.value || value); 
    }); 
}; 

但我仍然得到同樣的東西。我在這裏錯過了一招嗎?

問候

伊斯梅爾

回答

0

好的固定它。所以我需要騎過濾器:

$.ui.autocomplete.filter = function (array, term) { 
    var matcher = new RegExp('(^|)' + $.ui.autocomplete.escapeRegex(term), 'i'); 
    return $.grep(array, function (value) { 
     return matcher.test(value.label) || matcher.test(value.value) || matcher.test(value); 
    }); 
}; 

該工程。