【问题标题】:Add active class without any click or pressing any key(checkbox)无需单击或按任何键即可添加活动类(复选框)
【发布时间】:2018-02-19 07:17:13
【问题描述】:

如果选中复选框,我希望复选框字段应在其标签中添加一个活动类。我已经完成了所有操作,例如检查时将类添加到标签,而未检查时则不添加活动类。

但我的意思是当代码是

<label class="define--area--label"><input type="checkbox" checked ><label>

那么它不会将活动类添加到标签中。

这是我的代码

 $('.define--area--label > input').change(function() {
        if ($(this).is(':checked')) {
            $(this).parent().addClass('active');
        } else {
            $(this).parent().removeClass('active');
        }

    });

Full Example

【问题讨论】:

  • 在 HTML 代码中定义类 '.define--area--label' 的地方?
  • 现在我已经添加了..您也可以访问示例页面
  • Chrome 最新版本运行正常
  • 刚刚在 IE 和 FF 上测试过它也可以正常工作
  • 是的,它无处不在,但我无法自动完成,但您可以在我得到解决方案的地方找到以下答案

标签: javascript jquery html css checkbox


【解决方案1】:

我认为您必须在文档加载后通过 JavaScript 触发更改事件。

$(document).ready(function(){
   $('.define--area--label > input').change(function() {
        if ($(this).is(':checked')) {
            $(this).parent().addClass('active');
        } else {
            $(this).parent().removeClass('active');
        }

    });
   $('.define--area--label > input:checked').trigger('change');
})

【讨论】:

  • 您可以使用更改或点击事件
  • 嘿,非常感谢,这正是我要找的,非常感谢你..我学到了一些东西......谢谢
【解决方案2】:
$(document).ready(function(){    
    $('.define--area--label > input').each(function() {
        if($(this).is(':checked')){
            $(this).parent().addClass('active');
        }
    });
});

【讨论】:

    猜你喜欢
    • 2017-09-29
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    相关资源
    最近更新 更多