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实现的WEB页面跳转以及页面间传值方法
May 13 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
javascript跨域总结之window.name实现的跨域数据传输
Nov 01 Javascript
AngularJS基础 ng-class-odd 指令示例
Aug 01 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
浅谈react-router HashRouter和BrowserRouter的使用
Dec 29 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
浅谈Postman解决token传参的问题
Mar 31 Javascript
微信小程序开发技巧汇总
Jul 15 Javascript
Typescript的三种运行方式(小结)
Sep 18 Javascript
Vue中添加滚动事件设置的方法详解
Sep 14 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读取XML值的代码(推荐)
2011/01/01 PHP
PHP的变量总结 新手推荐
2011/04/18 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
PHP自定义多进制的方法
2016/11/03 PHP
php输出图像的方法实例分析
2017/02/16 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
Python实现全角半角字符互转的方法
2016/11/28 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
解决python报错MemoryError的问题
2018/06/26 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
Python中生成ndarray实例讲解
2021/02/22 Python
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
师德演讲稿范文
2014/05/06 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
react中的DOM操作实现
2021/06/30 Javascript
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技