【发布时间】:2012-04-16 08:17:09
【问题描述】:
如果你看看下面的JS:(直播:http://jsfiddle.net/RyanWalters/dE6T3/2/)
var projects = [
{
value: "jquery",
label: "jQuery",
desc: "the write less, do more, JavaScript library",
icon: "jquery_32x32.png"
},
{
value: "jquery-ui",
label: "jQuery UI",
desc: "the official user interface library for jQuery",
icon: "jqueryui_32x32.png"
},
{
value: "sizzlejs",
label: "Sizzle JS",
desc: "a pure-JavaScript CSS selector engine",
icon: "sizzlejs_32x32.png"
}
];
$("#autocomplete").autocomplete({
source: function(request, response){
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" );
response( $.grep( projects, function( value ) {
value = value.value || value.desc || value.icon;
return matcher.test( value );
}) );
}
});
我正在尝试对 projects 数组中的 value、desc 和 icon 字段进行自动完成搜索。但是,当我在搜索框中输入值时,我只能搜索 value 字段。 desc 和 icon 字段被完全忽略。
我怎样才能使我可以在三个字段中的任何一个字段中搜索文本?
【问题讨论】:
-
你不能只是“返回 matcher.test(value.value) || matcher.test(value.desc) || matcher.test(value.icon);” ?
标签: javascript jquery jquery-ui autocomplete jquery-ui-autocomplete