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 相关文章推荐
JS 无限级 Select效果实现代码(json格式)
Aug 30 Javascript
js函数中onmousedown和onclick的区别和联系探讨
May 19 Javascript
Jquery 监视按键,按下回车键触发某方法的实现代码
May 11 Javascript
用javascript读取xml文件读取节点数据
Aug 12 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
Jan 08 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
Feb 18 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
Oct 31 Javascript
JavaScript模板引擎Template.js使用详解
Dec 15 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
Jun 29 Javascript
vue.js组件之间传递数据的方法
Jul 10 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
微信小程序使用二次贝塞尔曲线画波浪
Dec 25 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
咖啡与水的关系
2021/03/03 冲泡冲煮
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
使用Python处理BAM的方法
2018/09/28 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
CSS3实现时间轴效果
2016/07/11 HTML / CSS
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
优秀学生事迹材料
2014/02/08 职场文书
环境科学专业求职信
2014/08/04 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL
mysql函数之截取字符串的实现
2022/08/14 MySQL