<c:forEach items="${resMap}" var="resMap">
<c:choose>
<c:when test="${fn:contains(resMap.key,'flg')}">
<tr>
<td height="22" align="left" bgcolor="#c4e0e6"
style="font-weight: bold;"><input type="checkbox" id="parentBox" name="parentBox" checked="checked" value="${fn:replace(resMap.key,'flg','')}" οnclick="checkParent(this)" /> <img src="${ctx}/images/icon_01.gif" style="padding-left: 3px; padding-right: 4px;" width="16" height="16" /> ${fn:replace(resMap.key,'flg','')}</td> </tr> </c:when> <c:otherwise> <tr> <td height="22" align="left" bgcolor="#c4e0e6" style="font-weight: bold;"><input type="checkbox" id="parentBox" name="parentBox" value="${resMap.key}" οnclick="checkParent(this)" /> <img src="${ctx}/images/icon_01.gif" style="padding-left: 3px; padding-right: 4px;" width="16" height="16" /> ${resMap.key}</td> </tr> </c:otherwise> </c:choose> <tr> <td height="22" style="border: 1px solid; border-color: #F5FFFA; line-height: 22px;"> <c:forEach items="${resMap.value}" var="res"> <div style="float: left; width: 25%"> <c:if test="${res.deleteFlg eq 1}"> <input type="checkbox" id="resourceId" name="${res.resourceId }" checked="checked" οnclick="checkChildren(this)" value="${resMap.key}" /> ${res.resourceName } </c:if> <c:if test="${res.deleteFlg ne 1}"> <input type="checkbox" id="resourceId" οnclick="checkChildren(this)" name="${res.resourceId }" value="${resMap.key}" /> ${res.resourceName} </c:if> </div> </c:forEach></td> </tr> </c:forEach>
与后台数据关联,后台数据值传入是否为勾选
function checkParent(obj) {
var systemId = obj.value;
var objName = document.getElementById("setAuthForm");
var parent = document.getElementsByName("parentBox");
var tempState;
for ( var j = 0; j < parent.length; j++) {
var parentSystemId = parent[j].value;
if (parentSystemId == systemId) {
tempState = parent[j].checked;
}
}
for ( var i = 2; i < objName.length; i++) {
if (objName[i].value.indexOf(systemId)==0 && objName[i].checked != tempState) {
objName[i].checked = tempState;
}
}
}
function checkChildren(obj) {
var systemId = obj.value;
var objName = document.getElementById("setAuthForm")
var parent = document.getElementsByName("parentBox");
for (i = 2; i < objName.length; i++) {
var systemIdRight=systemId.indexOf(objName[i].value);
if (systemIdRight==0 && !objName[i].checked
&& objName[i].name != "parentBox") {
for ( var j = 0; j < parent.length; j++) {
var parentSystemId = parent[j].value;
if (systemId.indexOf(parentSystemId)==0) {
parent[j].checked = false;
return;
}
}
}
}
for ( var j = 0; j < parent.length; j++) {
var parentSystemId = parent[j].value;
if (systemId.indexOf(parentSystemId)==0 ) {
parent[j].checked = true;
}
}
}
初始页面不与后台数据关联://checkbox选择
function checkParent(){
var children = document.getElementsByName("childrenBox");
var parent = document.getElementById("parentBox");
var tempState=parent.checked;
for(i=0;i<children.length;i++) {
if(children[i].checked!=tempState)
children[i].click();
}
}
function checkChildren() {
var children = document.getElementsByName("childrenBox");
var parent = document.getElementById("parentBox");
for(var i=0; i<children.length; i++) {
if(!children[i].checked) {
parent.checked = false;
return;
}
}
parent.checked = true;
}