2016-07-20 8 views
1

、私が意味する、それは何もしません、私はと思う:とき、私機能はいくつかの問題jQueryのオートコンプリートは、

$(".search").autocomplete({ 
    source: availableTags, 
    appendTo: ".autocomplete", 
    minLength:3, 

    response: function(event, ui) { 
     var content = ui.content[0].label; 
     $.each($('.auto-sort'), function() { 
      var t = $(this); 
      if (("t:contains(content)")) { 
       return; 
      } else { 
       $(this).parent().parent().parent().hide(); 
      } 
     }); 
    }, 
}); 

を持っている含まれ、何も起こりません入力フィールドに何かを入力してください。私はテキストの内容varの一部を持つアイテムを持っていたい。 、すべてを今すぐ

$(".search").autocomplete({ 
source: availableTags, 
appendTo: ".autocomplete", 
minLength:3, 

response: function(event, ui) { 
    var content = ui.content[0].label; 
    $.each($('.auto-sort'), function() { 
     var t = $(this); 
     if (("t:contains(content)")) { 
      $(this).parent().parent().parent().hide(); 
     } else { 
      return; 
     } 
    }); 
}, 
}); 

これ以上の作品が、私は、入力フィールドに「TES」と入力した場合、それは例えば、すべての項目を選択します。私は、コードのいくつかの行を逆にした場合

は、このコードは、すべての項目をフィルタリングします。自動ソート項目は非表示になっていますが、コンテンツテキストを含まない項目は表示されます。

問題はどこですか? ありがとうございます。作るために、

また
if($(this).is(':contains('+content+')')) { 

答えて

0

ソートするための鍵は、にフィルタロジックを変更することで大文字と小文字を区別しcontaines:

$.expr[":"].contains = $.expr.createPseudo(function(arg) { 
     return function(elem) { 
      return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0; 
     }; 
    }); 
関連する問題