jq列表筛选,根据品牌,风格来筛选效果

作者:Jasmine - 2017年10月12日
 <!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

</head>
<body>
<div>
    模式1:
    <button data-id="1"> 欧式</button>
    <button data-id="2">美式</button>
    <button data-id="4">其他</button>
</div>
<div>模式2:
    <button class="btn2" data-id="1">欧式</button>
    <button class="btn2" data-id="2">美式</button>
</div>


<ul>
    <li data-ids="1"><span>欧式</span></li>
    <li data-ids="1 3"><span>欧式</span></li>
    <li data-ids="1 2"><span>欧式</span><span> 美式</span></li>
    <li><span>其他</span></li>
    <li><span>现代</span></li>
    <li><span>现代</span></li>
    <li><span>古老</span></li>
    <li><span>传统</span></li>
    <li data-ids=""><span>其他</span></li>
    <li data-ids="2"><span>美式</span></li>
    <li><span>美式</span></li>
    <li><span>美式</span></li>
    <li><span>美式</span></li>
    <li><span>美式</span></li>
    <li><span>其他</span></li>
</ul>
<script>
    Array.prototype.unique1 = function () {
        var res = [this[0]];
        for (var i = 1; i < this.length; i++) {
            var repeat = false;
            for (var j = 0; j < res.length; j++) {
                if (this[i] == res[j]) {
                    repeat = true;
                    break;
                }
            }
            if (!repeat) {
                res.push(this[i]);
            }
        }
        return res;
    }
    $(function () {
        //id模式
        $('button').click(function () {
            dataId = $(this).attr('data-id');
            $('ul li').each(function () {
                //默认隐藏
                $(this).hide();
                dataIds = $(this).attr('data-ids');
                if (dataIds != undefined && dataIds != '') {
                    ids = dataIds.split(" ");//空格分隔成数组
                    for (i = 0; i < ids.length; i++) {
                        if (ids[i].trim() == dataId.trim()) {
                            //存在显示,并结束本次循环
                            $(this).show();
                            break;
                        }
                    }
                }

            });
        });
        //初始化-隐藏不存在按钮
        var listIds = [];
        $('ul li').each(function () {
            //默认隐藏
            dataIds = $(this).attr('data-ids');
            if (dataIds != undefined && dataIds != '') {
                ids = dataIds.split(" ");//空格分隔成数组
                for (i = 0; i < ids.length; i++) {
                    listIds.push(ids[i]);
                }
            }
        });
        listIds = listIds.unique1();
        $('button').each(function () {
            dataId = $(this).attr('data-id');
            $(this).hide();
            var hasId = false;
            for (i = 0; i < listIds.length; i++) {
                if (listIds[i] == dataId)
                    hasId = true;
            }
            if (hasId)
                $(this).show();
        })
        console.log();

        //文字模式
        $('button.btn2').click(function () {
            text = $(this).text();
            $('ul li').each(function () {
                $(this).hide();
                var hasText = false;
                $(this).find('span').each(function () {
                    //判断去除空格的文字
                    if (text.trim() == $(this).text().trim()) {
                        hasText = true;
                    }
                });
                if (hasText) {
                    $(this).show();
                }
            })
        })
    });
</script>
</body>
</html>

按风格筛选(多个).

下面按品牌筛选:(单个):

$('.brand_letter li').click(function () {
        $(this).addClass('cu').siblings('li').removeClass('cu');
        var name = $(this).find('a').text();

        if ($(this).hasClass("allBrandName")) {
            $(".ppjTab_brand li").show();
            return;
        }
        if (name) {
            if (name == "─")
                name = " ";
            var brandItemShow = $(".ppjTab_brand li[data-type='" + name + "']");
            var brandItemHide = $(".ppjTab_brand li[data-type!='" + name + "']");
            brandItemShow.show();
            brandItemHide.hide();
            $('.bandHList li').show();
        }
    })


本文作者: Jasmine

本文链接: https://www.jianbaizhan.com/article/583

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!