我在寻找一个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