Javascript 单击按钮以启用复选框,按钮将消失

Javascript 单击按钮以启用复选框,按钮将消失,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,单击按钮时,列表元素中的所有复选框都应处于活动状态。但是点击按钮,按钮就会自动消失。 我做错了什么? 这是我的密码: 这里是JavaScript: $('.filter-arrow').click(function () { //get id from clicked element var id = $(this).attr("id"); //switch class to display open arrow $(this).

单击按钮时,列表元素中的所有复选框都应处于活动状态。但是点击按钮,按钮就会自动消失。 我做错了什么? 这是我的密码:

这里是JavaScript:

$('.filter-arrow').click(function () {
        //get id from clicked element
        var id = $(this).attr("id");

        //switch class to display open arrow
        $(this).toggleClass("arrow-close");

        //get function to enable checkbox
        checkbox($('.parentcheck'), $(this))
});
function checkbox(check, arrow){
    if(arrow.attr("class","checkAll")){
        for( var i=0; i<check.length; i++){
            check[i].checked = true;
            var arrow_id = arrow.attr("id");
            arrow_id.toggleClass("uncheckAll");
        }
    }else{
        for(var i=0; i<check.length; i++){
            check[i].checked = false;
            var arrow_id = arrow.attr("id");
            arrow_id.toggleClass("checkAll");
        }   
    }
}

现在它的工作。。。我在做这件事时没有“checkAll”和“uncheckAll”这两个类 现在,我不会用点击按钮来做这件事——只需点击家长复选框

就这样,

var filterGeschichte;

filterGeschichte = function( $filterContainer,$categoryToggler ){

    $categoryToggler.click(function(e){
        var $toggler = $(this);
        $toggler.nextAll("ul.filter-sub").eq(0).slideToggle(300).find("li").show();

    });
    $filterContainer.each(function(){
        $(this).find("input[type=checkbox]").change(function(){
            var $that = $(this);

            //console.log( $that.is(":checked") )

            if( $that.parent().find("ul.filter-sub").length ) {
                $that.parent().find("ul.filter-sub").find("input[type=checkbox]").attr("checked", $that.is(":checked") );
            }
        });
    });
};

// JavaScript Document
$(document).ready(function(){

filterGeschichte( $("#scrollthefilter form:eq(0)"), $("div.filter-arrow") )

勾选所有复选框应尽可能简单:

$('.first-arrow').click(function () {
    $(":checkbox").attr('checked', 'checked');
});

按钮在哪里?在代码中看不到它请添加到JSFIDLE测试的链接是的,似乎带来了一半的代码,请检查。在您提供的示例html中,没有带有类“filter arrow”的元素,您将单击处理程序函数附加到该类中。你也验证过相关的css没有隐藏你的按钮的规则吗?请发布你的.arrow-close样式。你能更新你的代码以使用我的方法吗?我上面的三行没有隐藏按钮。。。
var filterGeschichte;

filterGeschichte = function( $filterContainer,$categoryToggler ){

    $categoryToggler.click(function(e){
        var $toggler = $(this);
        $toggler.nextAll("ul.filter-sub").eq(0).slideToggle(300).find("li").show();

    });
    $filterContainer.each(function(){
        $(this).find("input[type=checkbox]").change(function(){
            var $that = $(this);

            //console.log( $that.is(":checked") )

            if( $that.parent().find("ul.filter-sub").length ) {
                $that.parent().find("ul.filter-sub").find("input[type=checkbox]").attr("checked", $that.is(":checked") );
            }
        });
    });
};

// JavaScript Document
$(document).ready(function(){

filterGeschichte( $("#scrollthefilter form:eq(0)"), $("div.filter-arrow") )
$('.first-arrow').click(function () {
    $(":checkbox").attr('checked', 'checked');
});