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 相关文章推荐
javascript中的new使用
Mar 20 Javascript
jquery插件之easing使用
Aug 19 Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 Javascript
js控制页面控件隐藏显示的两种方法介绍
Oct 09 Javascript
JS实现随机乱撞彩色圆球特效的方法
May 05 Javascript
JavaScript中文件上传API详解
Apr 01 Javascript
浅析ES6的八进制与二进制整数字面量
Aug 30 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 Javascript
vue非父子组件通信问题及解决方法
Jun 11 Javascript
JS函数本身的作用域实例分析
Mar 16 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
基于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数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
jquery中ajax学习笔记一
2011/10/16 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
JavaScript中的this机制
2016/01/30 Javascript
JavaScript是如何实现继承的(六种方式)
2016/03/31 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
vue实现购物车加减
2020/05/30 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
极简的Python入门指引
2015/04/01 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
python实现ip地址的包含关系判断
2020/02/07 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
Python如何将函数值赋给变量
2020/04/28 Python
python3判断IP地址的方法
2021/03/04 Python
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
钳工实习自我鉴定
2013/09/19 职场文书
《日月潭》教学反思
2014/02/28 职场文书
安全生产管理责任书
2014/04/16 职场文书
物理教育专业求职信
2014/06/25 职场文书
离婚协议书范本样本
2014/08/19 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python