我的自动完成源列表有点像这样:
var items = ['UK', 'IE', 'BE', 'NL', 'PLC'];
我试图确保我的自动完成的结果集总是包含一个 特定术语(在本例中为 PLC)。
我试过将 PLC 添加到源列表,然后覆盖自动完成结果过滤器(参见 here)。
无论输入什么,我都可以让它返回“PLC”:
$("#autocomplete").autocomplete({
source: function(request, response) {
// The term the user searched for;
var term = request.term;
// Extract matching items:
var matches = $.grep(items, function(item, index) {
return /PLC/.test(item);
});
// let autocomplete know the results:
response(matches);
}
});
http://jsfiddle.net/GarethPN/xbZhr/6/
但是我如何在正则表达式中使用术语变量来保留标准功能?
或者是否有一种我遗漏的明显更简单的方法?
最佳答案
一个想法是创建一个匹配结果数组并向其中添加 PLC:
var items = ['UK', 'IE', 'FR', 'BE', 'NL'];
$("#autocomplete").autocomplete({
source: function(request, response) {
// The term the user searched for;
var term = request.term;
var matches = [];
matches.push('PLC');/(add PLC
// Extract matching items: (write your own function here)
// let autocomplete know the results:
response(matches);
}
});
关于javascript - 使用 jQuery UI Autocomplete,如何确保无论输入什么文本都会出现一个特定的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444623/