我在尋找一個jQuery自動完成即會:徘徊無論它們出現 jQuery的自動完成與多個關鍵字,突出和部分匹配
- 搜索部分匹配
- 突出顯示所有出現
- 允許遠程數據源(即基於查詢字符串的PHP過濾器數據庫結果,每個按鍵動態更新)
因此,例如
搜索: 「我家娃」
返回: 「秀我的WA y以去家」
我有一個可怕的一次試圖找到可以提供此功能的內容,儘管它普遍期待Google式的自動完成功能。
jquery ui autocomplete(jQueryUI: how can I custom-format the Autocomplete plug-in results?)的monkeypatch接近,但似乎沒有提供動態遠程數據源。
我也接近與下面的腳本:
var termTemplate = "<span class='ui-autocomplete-term'>%s</span>";
$("#f input").autocomplete({
source: "livesearch.php",
open: function(e, ui) {
var origKeyword = $("#f input").val();
var acData = $(this).data('autocomplete');
acData.menu.element.find('a').each(function() {
var me = $(this);
var regex = new RegExp(acData.term, "gi");
me.html(me.text().replace(regex, function(matched) {
return termTemplate.replace('%s', matched);
}));
});
},
select: function(event, ui) {
var keyword = $("#f input").val();
$("#f input").val('');
window.location.href = 'MYURLHERE?VARIABLE=' + ui.item.value;
return false;
},
focus: function(event, ui) {
return false;
}
});
但是,它不處理突出用空格分隔的多個單詞。
如果有人有任何建議,我會非常感激。
使用功能的源選項手動查詢服務器。看看這裏的第4步:http://net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui-autocomplete-widget/請注意,在第5步中,自動完成將搜索項傳遞給' $ _GET ['term']' – Nal
是的,一個動態的遠程資源絕對有可能。使用jQueryUI自動完成功能突出顯示個別單詞更難,但並非不可能 –
Thanks Nal。我已經加入了你提到的代碼中支持多重高亮的功能。但是我無法得到它的工作。你可能會看看我的代碼在答案1? – iltdev