dockeck.js
来自「使用javascript封装的动态树」· JavaScript 代码 · 共 98 行
JS
98 行
//选中孩子
function selectChild(o){
//获得本菜单的tr
var otr = o.parentElement.parentElement;
//获得子菜单的tr
var otrmenu = otr.nextSibling;
//遍历子菜单的checkbox
for(var i=0;i<otrmenu.all.length;i++) {
if(otrmenu.all[i].type=="checkbox"){
otrmenu.all[i].checked = o.checked;
}
}
}
//选中父类(适用二级)
function selectParent(o){
//t=true默认找到
var t= false;
//获得本菜单的tr
var otr = o.parentElement.parentElement;
//获得父菜单的tr
var otrmenu = otr.previousSibling;
//遍历子菜单的checkbox,验证是有选
for(var i=0;i<otr.all.length;i++) {
if(otr.all[i].type=="checkbox" && otr.all[i].checked){
t = true;
break;
}
}
//设置父类的checkbox状态
if(t){
for(var i=0;i<otrmenu.all.length;i++) {
if(otrmenu.all[i].type=="checkbox"){
otrmenu.all[i].checked = "checked";
selectRoot(otrmenu.all[i]);
break;
}
}
}else{
for(var i=0;i<otrmenu.all.length;i++) {
if(otrmenu.all[i].type=="checkbox"){
otrmenu.all[i].checked = "";
selectRoot(otrmenu.all[i]);
break;
}
}
}
}
//选中根点节(适用一级)
function selectRoot(o){
//t=true默认找到
var t= false;
//获得本菜单的tr
var otr = o.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement
//获得父菜单的tr
var otrmenu = otr.previousSibling;
//遍历子菜单的checkbox,验证是否全选
for(var i=0;i<otr.all.length;i++) {
if(otr.all[i].type=="checkbox" && otr.all[i].checked){
t = true;
break;
}
}
//设置父类的checkbox状态
if(t){
for(var i=0;i<otrmenu.all.length;i++) {
if(otrmenu.all[i].type=="checkbox"){
otrmenu.all[i].checked = "checked";
break;
}
}
}else{
for(var i=0;i<otrmenu.all.length;i++) {
if(otrmenu.all[i].type=="checkbox"){
otrmenu.all[i].checked = "";
break;
}
}
}
}
//菜单的显示与隐藏
function setDisplay(o){
if(o.style.display==""){
o.style.display="none";
}else{
o.style.display="";
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?