javascript - 如何使用 JQuery 检查/取消检查表单内表格中的所有元素

标签 javascript jquery dom

您好,我正在尝试找出一种方法,使按钮更改其值,并且通过单击按钮来选中/取消选中所有复选框。

我也无法理解如何在 DOM 中解析。 我在 jsfiddle 上尝试过一些东西,但无法实现。有人可以帮我吗?

这是链接。

Here is the jQuery code that I have written

> $(document).ready(function(){
>     $('.check:button').toggle(function(){
>         alert('inside toggle function');
>         $('input:checkbox').attr('checked',true);
>         $(this).val('uncheck all')
>     },function(){
>         $('input:checkbox').removeAttr('checked');
>         $(this).val('check all');        
>     }) })

jsfiddle

最佳答案

jQuery 的 toggle() 功能已被弃用并删除,至少您正在使用的 toggle() 版本是这样。

您应该监听 change 事件,并使用 checked 属性通过 jQuery 的 prop() 来切换其他复选框的状态>

$('.selectall').on('change', function() {
    $('div input').prop('checked', this.checked);
});

FIDDLE

我正在使用 on(),这需要比您在 fiddle 中使用的版本更新的 jQuery 版本,您应该更新最新版本。

编辑:

要使用按钮来完成此操作,您需要一个标志来跟踪状态,并创建您自己的切换

$('#selectAll').on('click', function () {
    var flag = !$(this).data('flag');

    $('#search_data input[type="checkbox"]').prop('checked', flag);

    $(this).data('flag', flag);
});

FIDDLE

关于javascript - 如何使用 JQuery 检查/取消检查表单内表格中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573289/

相关文章:

javascript - 关于 getDerivedStateFromProps 的思考

javascript - jQuery - 如果没有选项参数,回调失败

jquery - 使用 jQuery 在上下文中查找项目

jquery - 在鼠标悬停时,使用 jquery round 插件到表格行

jquery - Bootstrap 4 网格系统 div 在崩溃时消失

jquery - jQuery 中的 addClass 和 removeClass - 不删除类

javascript - 是否可以在服务器端使用HTML5 Canvas 生成图像?

javascript - babel - es2015 和 es2017 预设不能一起工作

javascript - Chrome 中 Node contains 的正确替代品应该是什么?

javascript - html5 msie javascript 让 DOM 处理在 MSIE 中工作