javascript - 使用 jQuery 取消选中子复选框时如何取消选择父复选框?

标签 javascript jquery jquery-ui

我正在使用 asp.net TreeView 控件。并使用 jQuery 在其父复选框被选中时选择所有相应的子复选框。工作的 jQuery 和渲染的 HTML 在此 JS Fiddle

jQuery 选择复选框:

  $('.tree').on('change', ':checkbox', function () {
         var checked = this.checked;
         var $elem = $(this).closest('table');
         var depth = $elem.find('div').length;
         var $childs = $elem.nextAll('table');
         $childs.each(function () {
             var $child = $(this);
             var d = $child.find('div').length;
             if (d <= depth) {
                 return false;
             }

             $child.find(':checkbox').prop('checked', checked);
         });
     });

但我不知道如何在选中其子项之一时取消选择父节点。

最佳答案

这是我见过的最奇怪的结构之一,无论如何,这是你的解决方案 http://jsfiddle.net/Gak2h/6/ 如果您想在取消选中所有元素时取消选中更改

$this.prop('checked', nbOfCheckeds == 0);

关于javascript - 使用 jQuery 取消选中子复选框时如何取消选择父复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17169661/

相关文章:

jquery - 对象不支持此属性或方法 jQuery UI Tab

javascript - 在 Javascript 方法中使用 DIV 的值来执行计算

javascript - excel 文件不是使用 javascript 创建的

javascript - SVG 分组的 DOM 运动动画

javascript - 如何使用 jQuery 添加选项到 HTML 选择

javascript - jquery 自动选择操作在 'change' 但不在 'select'

javascript - dhtmlxscheduler 与 ASP.NET MVC5 的使用

javascript - 有没有办法检测javascript中字母的最低点?

jQuery easing vs CSS3 transition - 是否有完全等效的平滑?

javascript - 我怎样才能摆脱北 Pane 线