【问题标题】:jquery uncheck dynamic checkboxjquery取消选中动态复选框
【发布时间】:2016-12-23 19:19:32
【问题描述】:

我正在使用 load() 将一些 html 导入到我的页面中,其中包括一些复选框。我想要一个刷新按钮来清除所有选中的复选框,但我无法让它工作。请让我知道我还能尝试什么。此选择器确实找到了所有“选中”的复选框,但没有一个功能取消选中该复选框。

$('#reset_button').on('click',function() 
    {
        $(':checkbox:checked').each(function()
        {
            //alert($(this).val())});
            $(this).prop('checked',false);
            $(this).attr('checked',false);
            $(this).val('off');
            $(this).removeAttr('checked');
        })
    }
    );

结束语,我必须从父元素中删除一个类,该类是复选框的样式。下面提供的功能将复选框的状态更新为“未选中”,但由于样式而未重绘项目

【问题讨论】:

  • 试试$(':checkbox:checked').each(function(i,v) { //alert($(this).val())}); $(v).prop('checked', false); })

标签: jquery checkbox dynamic


【解决方案1】:

这是uncheck all the checked checkboxes.的单行代码(这个例子说明了使用jquery选中和取消选中所有复选框) 将复选框的prop设置为false

$("input:checkbox").prop('checked', false);  

【讨论】:

    【解决方案2】:

    将参数传递给函数以访问每个选中的元素,然后使用将其选中属性设置为 false

    $(item).prop('checked', false);
    

    $(function(){
      $('#generate').on('click', function(){
        $('#check').append('<input type="checkbox" checked="checked"/>');
        $('#check').append('<input type="checkbox" checked="checked"/>');
      })
      $('#reset_button').on('click',function() 
        {
            $(':checkbox:checked').each(function(index, item)
            {
                //alert($(this).val())});
               $(item).prop('checked',false);
            })
        }
        );
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <button id="generate">Generate boxes</button>
    <div id="check"></div>
    <button id="reset_button">Reset</button>

    【讨论】:

    • 感谢您。虽然它仍然不会更新,但肯定有其他问题。我注释掉了我的代码并复制了你的代码。它可能与使用 load() 函数插入 html 而不是通过 jquery 添加元素有关
    • 实际上将checked的属性设置为false,但由于某种原因,复选框没有被取消选中。在 chrome 中测试
    • 你是如何加载你的复选框的。也许在另一个浏览器中尝试一下
    【解决方案3】:

    您可以为所有复选框添加相同的类,然后在您的函数中使用:

    checkboxes = document.getElementsByClassName('name');
    var n=checkboxes.length;
    for(var i=0;i<n;i++) {
        checkboxes[i].checked = false;
    }
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2018-02-03
      • 1970-01-01
      相关资源
      最近更新 更多