【问题标题】:change checkbox attr if checkbox is checked in material io如果在材质 io 中选中复选框,则更改复选框属性
【发布时间】:2020-04-26 18:06:40
【问题描述】:

嗨,我有一个按钮可以在单击时清除所有过滤器, 我希望在单击该按钮时取消选中已选中的复选框, 我面临的问题是我正在使用材料 io,而这些方法似乎不起作用。

$('#clear-filters').on('click', function () {
    $('input:checkbox').attr('checked',false);
});

$("#clear-filters").click(function(){
    $("input:checkbox").removeAttr('checked');

});

这是我使用的复选框:

<div class="mdc-form-field">
    <div class="mdc-checkbox">
         <input type="checkbox" class="mdc-checkbox__native-control" id="checkbox-1" />
         <div class="mdc-checkbox__background">
             <svg class="mdc-checkbox__checkmark" viewBox="0 0 24 24">
                  <path class="mdc-checkbox__checkmark-path" fill="none d="M1.73,12.91 8.1,19.28 22.79,4.59" />
             </svg>
             <div class="mdc-checkbox__mixedmark"></div>
         </div>
         <div class="mdc-checkbox__ripple"></div>
    </div>
    <label for="checkbox-1">sth</label>
</div>

【问题讨论】:

    标签: javascript jquery html css material-design


    【解决方案1】:

    您可以使用 prop 取消选中复选框。这应该适合你

    $('#clear-filters').on('click', function () {
      $('input:checked').prop('checked',false);
    });
    

    【讨论】:

    • 它起作用了,但我的问题是为什么当我们使用 attr 或 removeAttr 时它不起作用?
    • @thepreacher 因为 .attr() 对于 1.6v 以上的属性不推荐使用 jQuery 你必须使用 prop ,我记得
    【解决方案2】:

    修复 input:checkbox 以输入 [type=checkbox]

    $("input[type=checkbox]").attr('checked',false);
    
    //or
    
    
    $("input[type=checkbox]").removeAttr('checked');
    

    如果要选中复选框,

    $("input:checked").removeAttr('checked');
    
    //or
    
    $("input[type=checkbox]:checked").removeAttr('checked');
    
    ``
    

    【讨论】:

      猜你喜欢
      • 2021-07-11
      • 2019-09-26
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 2022-01-12
      • 2014-06-16
      相关资源
      最近更新 更多