次のJSを見てとる場合:(ライブ:http://jsfiddle.net/RyanWalters/dE6T3/2/)私はオートコンプリートがprojects
配列にvalue
、desc
、およびicon
フィールドを検索しようとしていjQuery UI:オートコンプリート - 配列内の複数の値を検索するにはどうすればよいですか?
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);
}));
}
});
を。ただし、検索ボックスに値を入力すると、value
フィールドのみを検索できます。 desc
とicon
フィールドは完全に無視されます。
3つのフィールドのいずれかでテキストを検索できるようにするにはどうすればよいですか?
は、あなただけの「matcher.test(value.value)|| matcher.test(value.desc)|| matcher.test(value.icon)を返すことができませんでした; " ? – dinjas