我需要一個簡單的自動完成搜索功能,但也允許用戶輸入多個值。我正在使用jQuery UI的自動填充小部件(http://jqueryui.com/autocomplete/),到目前爲止,我已將源設置爲只搜索建議中的第一個字母。我現在要添加的是用戶能夠從同一文本框中搜索多個項目的功能。 (即再次顯示逗號建議後)jQuery UI自動完成文本框中的多個值
我一直在試圖搜索如何做到這一點。我設法找到的唯一一個選項是可以添加multiple: true
(http://forum.jquery.com/topic/multiple-values-with-autocomplete)。事情是,它甚至沒有在文檔中列出,所以我不知道該選項是否已經改變或不存在了。
這是我的代碼:
var items = [ 'France', 'Italy', 'Malta', 'England',
'Australia', 'Spain', 'Scotland' ];
$(document).ready(function() {
$('#search').autocomplete({
source: function (req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp('^' + re, 'i');
var a = $.grep(items, function (item, index) {
return matcher.test(item);
});
responseFn(a);
}
});
});
我試了一下:
var items = [ 'France', 'Italy', 'Malta', 'England',
'Australia', 'Spain', 'Scotland' ];
$(document).ready(function() {
$('#search').autocomplete({
source: function (req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp('^' + re, 'i');
var a = $.grep(items, function (item, index) {
return matcher.test(item);
});
responseFn(a);
},
multiple: true
});
});
太棒了! :)唯一的問題是,我似乎無法讓它與上面的代碼中的RegEx一起工作。現在它忽略了RegEx –
如果它是正確的,那麼你接受這個答案 –
這是正確的,但它沒有與我所擁有的RegEx一起工作。我希望這些建議與搜索的第一個字母相匹配,而不是「逐字母」。這是我唯一的問題。如果你看看我發佈的代碼,我有一個RegEx來迎合這個。即使您的代碼正常工作,但在添加RegEx代碼時,我僅對第一個單詞顯示以上建議。 –