Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复选框树视图,同时嵌套父级和子级。?_Javascript_Html_Jquery_Css - Fatal编程技术网

Javascript 复选框树视图,同时嵌套父级和子级。?

Javascript 复选框树视图,同时嵌套父级和子级。?,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我正在尝试创建多个复选框的树状视图,因为树状结构一切正常,我只是无法实现当子复选框被选中时让其父复选框也被选中的目标。我从中找到了榜样 权限* 图书馆 文件 我的文件 下载 项目 音乐 我的音乐 公共音乐 图片 我的照片 公共图片 视频 我的视频 公共视频 下面是所需的javascript代码 <script> $(".acidjs-css3-treeview")

我正在尝试创建多个复选框的树状视图,因为树状结构一切正常,我只是无法实现当子复选框被选中时让其父复选框也被选中的目标。我从中找到了榜样


权限*
  • 图书馆
    • 文件
      • 我的文件
        • 下载
        • 项目
    • 音乐
      • 我的音乐
      • 公共音乐
    • 图片
      • 我的照片
      • 公共图片
    • 视频
      • 我的视频
      • 公共视频
下面是所需的javascript代码

  <script>
    $(".acidjs-css3-treeview").delegate("label input:checkbox", "change", function() {
var
    checkbox = $(this),
    nestedList = checkbox.parent().next().next(),
    nestedListp = checkbox.parent().prev().prev(),
    selectNestedListCheckbox = nestedList.find("label:not([for]) input:checkbox");
    selectNestedListCheckboxp = nestedListp.find("label:not([for]) input:checkbox");

if(checkbox.is(":checked")) {
    return selectNestedListCheckbox.prop("checked", true);
    return selectNestedListCheckboxp.prop("checked", true);
  }
   selectNestedListCheckbox.prop("checked", false);
    });
  </script>

$(.acidjs-css3-treeview”).delegate(“标签输入:复选框”,“更改”,函数(){
变量
复选框=$(此),
nestedList=checkbox.parent().next().next(),
nestedListp=checkbox.parent().prev().prev(),
selectNestedListCheckbox=nestedList.find(“标签:非([for])输入:复选框”);
选择NestedListCheckboxp=nestedListp.find(“标签:非([for])输入:复选框”);
如果(复选框为(“:选中”)){
返回selectNestedListCheckbox.prop(“选中”,true);
返回SelectedNestedListCheckboxP.prop(“选中”,true);
}
选择NestedListCheckbox.prop(“选中”,false);
});
下面是演示

$(函数(){
$('input[type=“checkbox”]”)。更改(checkboxChanged);
函数checkboxChanged(){
变量$this=$(this),
checked=$this.prop(“checked”),
容器=$this.parent(),
兄弟姐妹=容器。兄弟姐妹();
container.find('input[type=“checkbox”]”)
.道具({
不确定:错误,
勾选:勾选
})
.兄弟姐妹('标签')
.removeClass('自定义检查自定义未检查自定义不确定')
.addClass(选中?'custom checked':'custom unchecked');
检查兄弟(容器,已检查);
}
函数检查(el,已检查){
var parent=$el.parent().parent(),
全部=正确,
不确定=错误;
$el.sides().each(函数()){
返回all=($(this).children('input[type=“checkbox”]”).prop(“checked”)==checked);
});
如果(全部选中(&D){
parent.children('input[type=“checkbox”]”)
.道具({
不确定:错误,
勾选:勾选
})
.兄弟姐妹('标签')
.removeClass('自定义检查自定义未检查自定义不确定')
.addClass(选中?'custom checked':'custom unchecked');
检查兄弟姐妹(父母,已检查);
} 
else if(全部&!选中){
不确定=父.find('input[type=“checkbox”]:checked')。长度>0;
parent.children('input[type=“checkbox”]”)
.prop(“选中”,选中)
.prop(“不确定”,不确定)
.兄弟姐妹('标签')
.removeClass('自定义检查自定义未检查自定义不确定')
.addClass(不确定?“自定义不确定”:(选中?“自定义已选中”:“自定义未选中”);
检查兄弟姐妹(父母,已检查);
} 
否则{
$el.parents(“li”).children('input[type=“checkbox”]”)
.道具({
不确定:对,
勾选:假
})
.兄弟姐妹('标签')
.removeClass('自定义检查自定义未检查自定义不确定')
.addClass(“自定义不确定”);
}
}
});
*{margin:0;padding:0;}
#换页{
保证金:自动0;
}
treeview先生{
利润率:10px20px;
}
ul{
列表样式:无;
}
李树荣先生{
背景:url(http://jquery.bassistance.de/treeview/images/treeview-default-line.gif)0 0不重复;
填充:2px 0 2px 16px;
}
.treeview>li:第一个孩子>标签{
/*根元素的样式-IE8支持:第一个子元素
但不是:最后一个孩子*/
}
李树景先生{
背景位置:0-1766px;
}
.treeview li>输入{
高度:16px;
宽度:16px;
/*隐藏输入,但将其保留在带有事件的布局中(使用不透明度)*/
不透明度:0;
过滤器:alpha(不透明度=0);/*internet explorer*/
-ms过滤器:“progid:DXImageTransform.Microsoft.Alpha(不透明度=0)”;/*IE8*/
}
.treeview li>标签{
背景:url(https://www.thecssninja.com/demo/css_custom-forms/gr_custom-inputs.png)0-1px不重复;
/*向左移动以覆盖原始复选框区域*/
左边距:-20px;
/*填充文本以便为图像腾出空间*/
左侧填充:20px;
}
/*未选中的样式*/
.treeview。自定义未选中{
背景位置:0-1px;
}
treeview先生
  <script>
    $(".acidjs-css3-treeview").delegate("label input:checkbox", "change", function() {
var
    checkbox = $(this),
    nestedList = checkbox.parent().next().next(),
    nestedListp = checkbox.parent().prev().prev(),
    selectNestedListCheckbox = nestedList.find("label:not([for]) input:checkbox");
    selectNestedListCheckboxp = nestedListp.find("label:not([for]) input:checkbox");

if(checkbox.is(":checked")) {
    return selectNestedListCheckbox.prop("checked", true);
    return selectNestedListCheckboxp.prop("checked", true);
  }
   selectNestedListCheckbox.prop("checked", false);
    });
  </script>