最佳答案
有一种内置方法可以做到这一点:只为自动完成小部件中的
source
选项提供一个函数:
var items = ['Foo','Bar','Hello','Goodbye','1234'];
$("#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) {
// Build your regex here:
return /\d+/.test(item);
});
// let autocomplete know the results:
response(matches);
}
});
请注意,由于我使用的简单正则表达式,此示例将始终返回“1234”.更有用的可能是根据术语(也可能)构建正则表达式.
这实际上与小部件本身过滤结果的方式非常相似.如果您提供数组作为源选项,请查看this line以获取过滤器功能,并查看this line如何调用它.