javascript – jQuery UI:自动完成 – 如何在数组中搜索多个值?

如果你看看下面的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 );
        }) );
    }
});

我正在尝试使自动完成搜索项目数组中的值,desc和图标字段.但是,当我在搜索框中输入值时,我只能搜索值字段. desc和icon字段完全被忽略.

我该如何制作它以便我可以在三个字段中的任何一个字段中搜索文本?

解决方法

value = value.value || value.desc || value.icon;

这会将值设置为第一个“thuthy”值(将始终为value.value).

尝试这样的事情:

response($.grep(projects,function(value) {
    return matcher.test(value.value) || matcher.test(value.desc) || matcher.test(value.icon);
}));

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...