页面:
<div class="zskbgl">
<div class="zskbgr">
<form id="movefrm" action="tree!doMoveNode.action">
<#list nodeList as node>
<input type="hidden" name = "menuList[${node_index}].menuId" value = "${node.menuId?c}" />
<input type="hidden" name = "menuList[${node_index}].lastuptDttm" value = "${node.lastuptDttm?string('yyyy-MM-dd HH:mm:ss')}" />
</#list>
<div>
<div id="srcTree" class="zsktreepage" style="float:left">
<script type="text/javascript">
a = new dTree('a');
a.config.useCookies=false;
<#if dataTypeCd == 1>
a.add(0,-1,'知识库(起始点)','javascript: void(0);');
<#else>
a.add(0,-1,'学习库(起始点)','javascript: void(0);');
</#if>
<#list nodeList as node>
<#if node.parMenuId??>
a.add(${node.menuId?c}, ${node.parMenuId?c},'<input type="checkbox" name="check" class="${node.parMenuId?c}" value="${node.menuId?c}" id="ch${node.menuId?c}" onClick="kmMenu.checkStatus(${node.menuId?c},this)" />${node.menuNm}');
<#else>
a.add(${node.menuId?c}, 0,'<input type="checkbox" name="check" class="0" value="${node.menuId?c}" id="ch${node.menuId?c}" onClick="kmMenu.checkStatus(${node.menuId?c}, this)" />${node.menuNm}');
</#if>
</#list>
document.write(a);
</script>
</div>
js:
var kmMenu = {
checkStatus:function(no,chkBox){
this.checkPar(chkBox);//当子目录选中时,父目录也选中
var chks = document.getElementsByTagName('input');//得到所有input
for(var i=0;i <chks.length;i++){
if(chks[i].name.toLowerCase() == 'check'){//得到所名为check的input
if(chks[i].className == no){//ID等于传进父目录ID时
chks[i].checked = chkBox.checked;//保持选中状态和父目录一致
this.checkStatus(chks[i].value,chks[i]);//递归保持所有的子目录选中
}
}
}
},
checkPar:function(chkBox) {
if(chkBox.name.toLowerCase() == 'check' && chkBox.checked==false && chkBox.className != 0) {//判断本单击为选中,并且不是根目录,则选中父目录
var chkObject = document.getElementById("ch"+chkBox.className);//得到父目录对象
// alert("chkBox.checked:"+chkBox.checked);
chkObject.checked=chkBox.checked;
this.checkPar(chkObject);
}
}
}