找到所有的家长并在树视图中检查他们
Finding all parents and checking them in a treeview?
我在这个页面上使用这个代码:http://experiments.wemakesites.net/css3-treeview-with-multiple-node-selection.html
我的问题是,它想要反向选择。也就是说,选中复选框的所有父框,而不是子框。
例如,在上面的链接中,如果您要单击我的文档,我希望Documents和Libraries也选中。我尝试过使用parents(),以及多个版本的parent().parent().prev().prev(),我唯一想到的是有点功能的是:
$(".acidjs-css3-treeview").delegate("label input:checkbox", "change", function() {
var
checkbox = $(this),
nestedList = checkbox.parent().parent().parent().prev().prev(),
selectNestedListCheckbox = nestedList.find("input:checkbox");
if(checkbox.is(":checked")) {
return selectNestedListCheckbox.prop("checked", true);
}
selectNestedListCheckbox.prop("checked", false);
});
这将只选择第一个父节点,而我需要所有的父节点。我想我可以构造一个循环来继续使用相同的脚本,但它看起来非常丑陋。
做我正在寻找的事情的更干净的方式是什么?
您可以使用jQuery的parents()方法完成此操作,然后检查直接子元素的输入。您可能需要根据html的布局对其进行修改。我已经用jsfiddle演示过了。
关键部分是:
var checkboxes = $this.parents().children('input');
全额:
$('input').on('change', function() {
var $this = $(this);
var checkboxes = $this.parents().children('input');
if($this.is(":checked")) {
return checkboxes.prop("checked", true);
}
checkboxes.prop("checked", false);
});
相关文章:
- 如何使用javascript从主svg对象动态创建svg视图框
- 正在使用$location.path(.)路由ng视图
- angular.js没有'无法在PhoneGap中处理视图标记
- 如何包含特定于每个视图angularjs的javascript文件
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- Ajax Live搜索发布到Laravel视图
- backbone.js无法渲染视图
- 根据某些条件在视图之间切换
- ng视图外的链接重定向到ng视图内的页面
- 如何在Jquery中发布后将值从视图返回到控制器
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 使用Scala Play Framework视图中的键检索映射值
- FF视图源|脚本高亮显示为红色
- 如何使bxslider仅在移动视图中处于活动状态
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- 找到所有的家长并在树视图中检查他们
- HTML元素加载,即使他们没有附加到DOM?那么主干视图呢?
- 我的网页如何判断用户是否放大了他们的视图
- facebook如何处理停止视频帖子时,他们在/退出滚动视图