0

次のような配列でjquery grepを使用できますか

   var Categories= [{label:"cat1", value:"1"}, ... ] 

たとえば、オートフィルターで

 $(function() {
      a = $('#Cats').autocomplete({
          source: function(req, response) {
              var re = $.ui.autocomplete.escapeRegex(req.term);
              var matcher = new RegExp("^" + re, "i");
              response($.grep(Categories, function(item) {
                  return matcher.test(item);
              }));
          },
          minLength: 0, autoFocus: true

       ,
          select: function(event, ui) {
              AutoCompleteSelectionHandler2(event, ui)
          }

      });
  });

ラベルでフィルタリングして値を返すようにするには?

response($.grep(Categories, function(item) { return matcher.test(item);

配列でのみ動作させることができます

 var Categories= [ "cat1", "cat2", ...]
4

1 に答える 1

1

問題は、それitemが文字列ではなくオブジェクトであることです。試してみてください

return matcher.test(item.label);
于 2013-05-21T16:22:03.003 に答える