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 相关文章推荐
ECMAScript 5中的属性描述符详解
Mar 02 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
Aug 26 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
Javascript自定义事件详解
Jan 13 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
Apr 20 Javascript
详解Vue快速零配置的打包工具——parcel
Jan 16 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
Mar 22 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
Jan 27 Javascript
详解Vue 全局变量,局部变量
Apr 17 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 获取远程网页内容的函数
2009/09/08 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
Script的加载方法小结
2011/01/12 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
Flexigrid在IE下不显示数据的有效处理方法
2014/09/04 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
写出SQL四条最基本的数据操作语句(DML)
2012/12/12 面试题
英语师范专业毕业生自荐信
2013/09/21 职场文书
优秀学生获奖感言
2014/02/15 职场文书
党员入党表决心的话
2014/03/11 职场文书
党支部承诺书范文
2014/03/28 职场文书
探亲假请假条
2014/04/11 职场文书
小学班主任培训方案
2014/06/04 职场文书
殡葬服务心得体会
2014/09/11 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
婚礼新人答谢词
2015/01/04 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
团拜会主持词
2015/07/04 职场文书