如果你看看下面的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); }));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。