2011-12-07 13 views
5

我々は、例えば、あなたはオプションのグループを取得フィルターシステム、に取り組んでいる:jQueryセレクタを(少し高度な)高度なロジックでグループ化できますか?

は レッド、ブルー、グリーン

価格帯 £0〜£5、£ 6£10、£11 +

アディダス、ナイキ、コンバース

各オプションがAであることを確認してください単一のチェックボックス。私はレッド、ブルー、£0〜£5、ナイキを確認することだった場合、SOおよび

を有するものをグループに参加する

  • から

    • ORオプション:我々は次のロジックでフィルタそして、コンバースは、ロジックは次のようになります。

      (赤または青)AND(£0-5)AND(ナイキORコンバース)

      各チェックボックスはIDを持っています。上記のロジックを使用してセレクタを構築したいと思いますが、jQueryで行う最良の方法についてはわかりません。明らかに論理積を単に追加され、論理和(または同等の)されているすなわち、これらのセレクタのコマンドを使用しますが、それはグループのいくつかの方法せずにロジックを破る:

      $('(#red,#blue)(#price0to5)(#nike,#converse)')

      任意の提案や選択肢を?

  • +1

    可能な複製を:論理積が連鎖を必要とする

    <div class="red nike underfive"></div> <div class="blue green converse elevenup"></div> <div class="blue converse underfive"></div> 

    オッズ比は、コンマと同等です(http://stackoverflow.com/questions/8071351/compound-jquery-selectors)。 –

    答えて

    8

    のは、あなたが該当するクラスのアイデンティティを持つアイテムの束を持っていると仮定しましょう:[化合物jQueryのセレクタ]の

    $(".red,.blue").filter(".underfive").filter(".nike,.converse"); // 1 and 3 
    $(".green").filter(".underfive"); // empty 
    $(".blue").filter(".green"); // 2 
    
    +0

    ニースワン - ありがとう:) – LeonardChallis