jQuery多条件筛选如何实现


Posted in Javascript onNovember 04, 2015

本文实例讲述了jquery实现多条件筛选特效。分享给大家供大家参考。具体如下:
我们在电商平台购买商品时,在商品列表页根据品牌、款式、价格范围等条件进行筛选查询,当点击某个条件时,在页面上会显示用户所选择的条件集合,并且将对应的符合条件的商品信息展示出来。那么今天我们使用jQuery来实现这一前端效果。
运行效果图: 

jQuery多条件筛选如何实现

HTML
首先,我们将查询条件分类,在页面中布置条件容器li.select-list和已选择的条件容器div.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(); 
    } 
  }); 
});

实际应用中,我们要结合后端程序,实现帅选条件时,页面响应的内容也会变化,有兴趣的同学可以尝试下。

以上就是本文的全部内容,告诉大家js如何实现多条件筛选功能,希望对大家的学习有所帮助。

Javascript 相关文章推荐
神奇的7个jQuery 3D插件整理
Jan 06 Javascript
用JavaScript修改CSS属性的代码
May 06 Javascript
通过javascript获取iframe里的值示例代码
Jun 24 Javascript
JavaScript前端开发之实现二进制读写操作
Nov 04 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
angularjs实现柱状图动态加载的示例
Dec 11 Javascript
JavaScript中创建原子的方法总结
Aug 26 Javascript
js实现前面自动补全位数的方法
Oct 10 Javascript
微信小程序之swiper滑动面板用法示例
Dec 04 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
Oct 25 Javascript
利用JavaScript为句子加标题的3种方法示例
Jan 05 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
Nov 04 #Javascript
js数组去重的5种算法实现
Nov 04 #Javascript
解决js图片加载时出现404的问题
Nov 30 #Javascript
jquery实现的点击翻书效果代码
Nov 04 #Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
Nov 04 #Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
Nov 04 #Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 #Javascript
You might like
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
PHP attributes()函数讲解
2019/02/03 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
Python中使用动态变量名的方法
2014/05/06 Python
Python标准库defaultdict模块使用示例
2015/04/28 Python
python生成密码字典的方法
2018/07/06 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
个人实用的自我评价范文
2013/11/23 职场文书
优秀的自荐信要注意哪些
2014/01/03 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
给学校的建议书
2014/03/12 职场文书
毕业留言寄语大全
2014/04/10 职场文书
活动宣传策划方案
2014/05/23 职场文书
航空学院求职信
2014/06/11 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
幼儿园教研工作总结2015
2015/05/12 职场文书
小学课改工作总结
2015/08/13 职场文书