ホームページ  >  記事  >  ウェブフロントエンド  >  jQueryの複数条件フィルタリングを実装する方法

jQueryの複数条件フィルタリングを実装する方法

不言
不言オリジナル
2018-06-25 11:53:332521ブラウズ

この記事では主に複数条件のフィルタリング効果を実装するための jQuery を紹介します。必要な方はぜひ参考にしてください。

この記事の例では、jquery を使用した複数条件フィルター効果の実装について説明します。参考のためにみんなで共有してください。詳細は次のとおりです。
電子商取引プラットフォームで商品を購入する場合、商品リスト ページでブランド、スタイル、価格帯、その他の条件に基づいてフィルタリングおよびクエリを実行します。条件をクリックすると、一連の条件が選択されます。ユーザーが作成した商品情報がページ上に表示され、条件に合致した該当商品情報が表示されます。そこで今日は、jQuery を使用してこのフロントエンド効果を実現します。
レンダリングの実行:

HTML
まず、クエリ条件を分類し、条件コンテナ li.select-list と選択条件コンテナ p.select-result をページ上に配置します。

<ul class="select">  
    <li class="select-list">  
      <dl id="select1">  
        <dt>上装:</dt>  
        <dd class="select-all selected"><a href="#">全部</a></dd>  
        <dd><a href="#">针织衫</a></dd>  
        <dd><a href="#">毛呢外套</a></dd>  
        <dd><a href="#">T恤</a></dd>  
        <dd><a href="#">羽绒服</a></dd>  
        <dd><a href="#">棉衣</a></dd>  
        <dd><a href="#">卫衣</a></dd>  
        <dd><a href="#">风衣</a></dd>  
      </dl>  
    </li>  
    <li class="select-list">  
      <dl id="select2">  
        <dt>裤装:</dt>  
        <dd class="select-all selected"><a href="#">全部</a></dd>  
        <dd><a href="#">牛仔裤</a></dd>  
        <dd><a href="#">小脚/铅笔裤</a></dd>  
        <dd><a href="#">休闲裤</a></dd>  
        <dd><a href="#">打底裤</a></dd>  
        <dd><a href="#">哈伦裤</a></dd>  
      </dl>  
    </li>  
    <li class="select-result">  
      <dl>  
        <dt>已选条件:</dt>  
        <dd class="select-no">暂时没有选择过滤条件</dd>  
      </dl>  
    </li>  
  </ul>

コンテンツを配置したら、ページコンテンツにCSSスタイルを追加し、関連するJSを読み込みます。

<link rel="stylesheet" type="text/css" href="css/style.css">  
<script type="text/javascript" src="js/jquery.js"></script>  
<script type="text/javascript" src="js/script.js"></script>

jQuery
ユーザーが任意の条件をクリックし、現在選択されている状態をマークし、隣接する条件のチェックを外し、選択された条件コンテナの内容を更新するときは、コードを参照してください:

$(document).ready(function() { 
  $("#select1 dd").click(function() { 
    $(this).addClass("selected").siblings().removeClass("selected"); 
    if ($(this).hasClass("select-all")) { 
      $("#selectA").remove(); 
    } else { 
      var copyThisA = $(this).clone(); 
      if ($("#selectA").length > 0) { 
        $("#selectA a").html($(this).text()); 
      } else { 
        $(".select-result dl").append(copyThisA.attr("id", "selectA")); 
      } 
    } 
  }); 
  $("#select2 dd").click(function() { 
    $(this).addClass("selected").siblings().removeClass("selected"); 
    if ($(this).hasClass("select-all")) { 
      $("#selectB").remove(); 
    } else { 
      var copyThisB = $(this).clone(); 
      if ($("#selectB").length > 0) { 
        $("#selectB a").html($(this).text()); 
      } else { 
        $(".select-result dl").append(copyThisB.attr("id", "selectB")); 
      } 
    } 
  }); 
  $("#selectA").live("click", 
  function() { 
    $(this).remove(); 
    $("#select1 .select-all").addClass("selected").siblings().removeClass("selected"); 
  }); 
  $("#selectB").live("click", 
  function() { 
    $(this).remove(); 
    $("#select2 .select-all").addClass("selected").siblings().removeClass("selected"); 
  }); 
  $(".select dd").live("click", 
  function() { 
    if ($(".select-result dd").length > 1) { 
      $(".select-no").hide(); 
    } else { 
      $(".select-no").show(); 
    } 
  }); 
});

実際のアプリケーションでは、ハンサムな選択条件を実現するためにバックエンドプログラムを組み合わせる必要があります。興味のある学生は試してみてください。

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

jQuery ファイル アップロード コントロール 分析のアップロード

JQuery zTree ツリー コントロールの非同期読み込み操作について

以上がjQueryの複数条件フィルタリングを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。