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 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
新浪的图片新闻效果
Jan 13 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 Javascript
jquery 批量上传图片实现代码
Jan 28 Javascript
jquery更换文章内容与改变字体大小代码
Sep 30 Javascript
js字符串转成JSON
Nov 07 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
Vue.js每天必学之指令系统与自定义指令
Sep 07 Javascript
微信小程序开发(一) 微信登录流程详解
Jan 11 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 jQuery
关于foreach循环中遇到的问题小结
May 08 Javascript
强大的 Angular 表单验证功能详细介绍
May 23 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+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
一个javascript参数的小问题
2008/03/02 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
python运行其他程序的实现方法
2017/07/14 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
祖国在我心中演讲稿
2014/01/15 职场文书
《钱学森》听课反思
2014/03/01 职场文书
兴趣小组活动总结
2014/05/05 职场文书
宣传普通话标语
2014/06/27 职场文书
英语专业求职信
2014/07/08 职场文书
励志演讲稿大全
2014/08/21 职场文书
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
图神经网络GNN算法
2022/05/11 Python