一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

基于jQuery实现多条件筛选实现程序

时间:2015-07-20 编辑:简简单单 来源:一聚教程网

我们在电商平台购买商品时,在商品列表页根据品牌、款式、价格范围等条件进行筛选查询,当点击某个条件时,在页面上会显示用户所选择的条件集合,并且将对应的符合条件的商品信息展示出来。那么今天我们使用jQuery来实现这一前端效果。

基于jQuery实现多条件筛选实现程序


HTML

首先,我们将查询条件分类,在页面中布置条件容器li.select-list和已选择的条件容器div.select-result。
 


           

  •            

                   
    上装:

                   
    全部

                   
    针织衫

                   
    毛呢外套

                   
    T恤

                   
    羽绒服

                   
    棉衣

                   
    卫衣

                   
    风衣

               

           

  •        

  •            

                   
    裤装:

                   
    全部

                   
    牛仔裤

                   
    小脚/铅笔裤

                   
    休闲裤

                   
    打底裤

                   
    哈伦裤

               

           

  •        

  •            

                   
    已选条件:

                   
    暂时没有选择过滤条件

               

           

  •    

布置好内容后,给页面内容加上css样式以及加载相关js。
 


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();
        }
    });
    
});

实际应用中,我们要结合后端程序,实现帅选条件时,页面响应的内容也会变化,有兴趣的同学可以尝试下

热门栏目