Javascript 使用jQuery将toggleClass添加到复选框

Javascript 使用jQuery将toggleClass添加到复选框,javascript,jquery,html,checkbox,toggleclass,Javascript,Jquery,Html,Checkbox,Toggleclass,如果选中了输入=复选框,如何将toggleClass应用于该复选框?选中时,我尝试添加类calcButtonOn: jQuery(function() { var total = 0; jQuery("input").click(function() { total = 0; jQuery("input:checked").not('input[value="reset"]').each(function() { total

如果选中了输入=复选框,如何将toggleClass应用于该复选框?选中时,我尝试添加类calcButtonOn:

jQuery(function() {
    var total = 0;
    jQuery("input").click(function() {
        total = 0;
        jQuery("input:checked").not('input[value="reset"]').each(function() {
            total += parseFloat(jQuery(this).val());
        });
        jQuery("#Totalcost").html("Save up to " + total + "%");
    });

});

使用JQuery选中所有复选框,并在更改事件上添加事件处理程序:

jQuery("input[type=checkbox]").change(function(){
    jQuery(this).toggleClass("calcButtonOn", this.checked);
});

使用JQuery选中所有复选框,并在更改事件上添加事件处理程序:

jQuery("input[type=checkbox]").change(function(){
    jQuery(this).toggleClass("calcButtonOn", this.checked);
});
使用:

说明:循环通过所有复选框,希望您已经给了他们我上面给出的类。然后检查它是否选中,如果是切换类

编辑

你的问题不是100%清楚。但如果您只想单击一个复选框并仅切换该复选框,则使用

  $(".Your_Checkbox_Class").click(function(){
     var id = $(this).attr("id");
        $("#"+id).toggleClass("Your_New_Class");
  })
说明:如果选中复选框,则切换类。我假设您在DOM负载上有适当的类。就像在加载DOM之后,如果已经勾选了来自服务器端的复选框,那么它将已经具有checked_元素的类。

使用:

  $(".Your_Checkbox_Class")each(function(){
     if ($(this).is(':checked') ){
        $(this).toggleClass("Your_New_Class");
    } 
  });
说明:循环通过所有复选框,希望您已经给了他们我上面给出的类。然后检查它是否选中,如果是切换类

编辑

你的问题不是100%清楚。但如果您只想单击一个复选框并仅切换该复选框,则使用

  $(".Your_Checkbox_Class").click(function(){
     var id = $(this).attr("id");
        $("#"+id).toggleClass("Your_New_Class");
  })

说明:如果选中复选框,则切换类。我假设您在DOM负载上有适当的类。就像加载DOM后,如果已经勾选了来自服务器端的复选框,那么它将已经为选中的元素创建了类。

我建议,假设在选中元素时希望类存在,然后在随后取消选中元素时将其删除:

jQuery('input[type=checkbox]').on('change', function () {
    $(this).toggleClass('active', this.checked);
});
jQuery'input[type=checkbox]'。在'change'上,函数{ $this.toggleClass'active',this.checked; }; 输入{ 显示:块; 填充:0.5em; 边际:0.01米0; 盒影:无; } input.active{ 盒影:0.01米0.25米f00; }
我建议,假设您希望在检查元素时类出现,并在随后检查元素时将其删除:

jQuery('input[type=checkbox]').on('change', function () {
    $(this).toggleClass('active', this.checked);
});
jQuery'input[type=checkbox]'。在'change'上,函数{ $this.toggleClass'active',this.checked; }; 输入{ 显示:块; 填充:0.5em; 边际:0.01米0; 盒影:无; } input.active{ 盒影:0.01米0.25米f00; }
侦听复选框上的更改事件,然后使用检查其状态。prop'checked'在复选框未选中时是否也要删除该类,或者在添加该类后是否应保留该类?侦听复选框上的更改事件,然后使用检查其状态。prop'checked'在复选框未选中时是否也要删除该类,或者类在添加后是否应该保留?这只会切换一次,但不会在复选框的状态更改时切换。虽然这个问题不完全清楚他是否想要这个,但是我不确定OP的问题,有100个复选框或者1个。我正在编辑。您不应该使用$.each$'.selector',函数{};正在执行$'.selector'.eachfunction{};绝对是首选,因为您正在使用jQuery集合。这只会切换一次,但不会在复选框的状态更改时切换。虽然这个问题不完全清楚他是否想要这个,但是我不确定OP的问题,有100个复选框或者1个。我正在编辑。您不应该使用$.each$'.selector',函数{};正在执行$'.selector'.eachfunction{};绝对是首选,因为您使用的是jQuery集合。这很容易失去同步。如果在加载页面时选中了它,那么事情就会颠倒过来。在切换类之前,您肯定需要检查是否已在change函数中签入它。@BillCriswell谢谢。我已经更新了我的答案,这很容易失去同步。如果在加载页面时选中了它,那么事情就会颠倒过来。在切换类之前,您肯定需要检查是否已在change函数中签入它。@BillCriswell谢谢。我更新了我的答案,这绝对是我认为最清楚的例子。我想你应该在.on之后加上.trigger'change,这样如果页面上有检查过的内容,它就不会看起来坏了。@Bill:这当然是个主意,但考虑到问题的模糊性,我不确定这是否必要。不过,我将在中对其进行编辑以供完成:在我看来,这绝对是最清楚的例子。我想你应该在.on之后加上.trigger'change,这样如果页面上有检查过的内容,它就不会看起来坏了。@Bill:这当然是个主意,但考虑到问题的模糊性,我不确定这是否必要。不过,我将在中对其进行编辑,以便完成: