javascript - 使用 JQUERY 选择的 cb 列表的复选框过滤

标签 javascript jquery html css checkbox

我正在使用 JQuery 对复选框进行筛选。我想把不同的 div 选中的复选框列表,当我点击删除类别的图标时,它会被删除选中的复选框列表和其他 div 区域的复选框列表。我该怎么做请帮忙?

喜欢这张图片:

您可以使用 JSDFiddle 进行查看 -> http://jsfiddle.net/XRJ2d/

HTML:

<div style="background-color:#ccc; width:90%; height:30px;">
Selected checkbox Filter list ->   



<br>
       <img src="http://i.stack.imgur.com/5iWr1.jpg"/>

    <br><br><br><br>

<div class="tags">
        <label>
            <input type="checkbox" rel="arts" />
            Arts
        </label>
        <label>
            <input type="checkbox" rel="computers" />
            Computers
        </label>
        <label>
            <input type="checkbox" rel="health" />
            Health
        </label>
        <label>
            <input type="checkbox" rel="video-games" />
            Video Games
        </label>
    </div>
    <ul class="results">
        <li class="arts computers">Result 1</li>
        <li class="video-games">Result 2</li>
        <li class="computers health video-games">Result 3</li>
        <li class="arts video-games">Result 4</li>
    </ul>

Javascript:

$(document).ready(function () {


            $('div.tags').find('input:checkbox').live('click', function () {
                $('.results > li').hide();
                if( $('div.tags').find('input:checked').length > 0)
                {
                $('div.tags').find('input:checked').each(function () {
                    $('.results > li.' + $(this).attr('rel')).show();
                });
                }else{
                    $('.results > li').show();
                }
            });
        });      

最佳答案

我想这就是你想要的,只要给它一点风格和 volla:http://jsfiddle.net/XRJ2d/4/

$(document).ready(function () {


        $('div.tags').find('input:checkbox').on('click', function () {
            $('.results > li').hide();
            $('#tags').html('<div id="selectedTags">Selected Tags : </div>');
            if( $('div.tags').find('input:checked').length > 0)
            {
            $('div.tags').find('input:checked').each(function () {
                $('.results > li.' + $(this).attr('rel')).show();
                $('#tags').append('<span class="tagDiv">'+$(this).attr('rel').toUpperCase()+'<span class="delete">x</span></span>');
            });
            }else{
                $('.results > li').show();
            }
        });
    $(document).on('click','.delete',function(){
        var tagName=$(this).parent().text();
        tagName=tagName.slice(0,-1).toLowerCase();
        $('input').each(function(){
            if($(this).attr('rel')==tagName){
                $(this).trigger('click');
                $(this).trigger('click');
                $(this).attr('checked',false);
            }
        });
    });
});      

关于javascript - 使用 JQUERY 选择的 cb 列表的复选框过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344240/

相关文章:

javascript - 如何解析以下字符串?

javascript - 将变量分配给 Backbone.js 中的窗口对象

jquery - 使用 Jquery 根据其内容隐藏 <p>

javascript - 如何在 JavaScript 中对字母进行排序(将大写字母和小写字母组合在一起)?

javascript - "seeked"事件在 HTML 音频元素中不起作用吗?

javascript - 无法使用 python selenium 获取生成的 html 源

javascript - 自定义工具提示定位

javascript - 在 Meteor 中访问从 JavaScript 传递到模板的变量

jquery - Backbone.js + JQuery UI 自动完成 - 奇怪的行为

javascript - 如何为表单执行 null 操作