jsp checkbox和radio级联控件.

最近项目需要一个控件,支持动态生成chenkbox,radio。具有默认选中和级联的控件。实现如下:
JSP页面为:

<!--hangyeList、yewuList、yingxiaoList为后台查询各个部门用户集合,用于动态生成radio和checkbox -->
<tr>
<td align="right" nowrap="nowrap" class="title">
审批:
</td>
<td class="bgcolor_gray">
<input type="checkbox" name="hangyeCheck" value="checkbox" onclick="return false" checked /><!-- 默认行业处必须选中 -->
行业处审核
<% for (int i=0;i< hangyeList.size();i++){ %>
<% SysUser nextUser = (SysUser)hangyeList.get(i); %>
<% if(i==0){ %>
<input type= "radio" name= "nextUserNameHangye" checked="true" value= "<%= nextUser.getUserCd()%>" /><%= nextUser.getUserName()%>
<%}else{ %>
<input type= "radio" name= "nextUserNameHangye" value= "<%= nextUser.getUserCd()%>" /><%= nextUser.getUserName()%>
<%} %>
<%} %>
<br />
<input type="checkbox" id="yewuCheck" name="yewuCheck" value="checkbox" onclick="checkfunc('yewuCheck','nextUserNameYewu','<%=yewuList.size() %>')" />
业务管理处审核
<% for (int i=0;i< yewuList.size();i++){ %>
<% SysUser nextUser = (SysUser)yewuList.get(i); %>
<input type= "radio" id="nextUserNameYewu<%=i %>" name= "nextUserNameYewu" value= "<%= nextUser.getUserCd()%>" onclick="radiofunc('yewuCheck','nextUserNameYewu','<%=yewuList.size() %>')"/><%= nextUser.getUserName()%>
<%} %>
<br />
<input type="checkbox" id="yingxiaoCheck" name="yingxiaoCheck" value="checkbox" onclick="checkfunc('yingxiaoCheck','nextUserNameYingxiao','<%=yingxiaoList.size() %>')"/>
营销服务处审核
<% for (int i=0;i< yingxiaoList.size();i++){ %>
<% SysUser nextUser = (SysUser)yingxiaoList.get(i); %>
<input type= "radio" id="nextUserNameYingxiao<%=i %>" name= "nextUserNameYingxiao" value= "<%= nextUser.getUserCd()%>" onclick="radiofunc('yingxiaoCheck','nextUserNameYingxiao','<%=yingxiaoList.size() %>')"/><%= nextUser.getUserName()%>
<%} %>
<br />
</td>
</tr>

JS事件为:

<script type="text/javascript">
/***
*@note checkbox和radio 级联控件 监听父节点事件 三个传入参数为 #父节点ID名称 #子节点ID民称 #子节点的集合大小
*@author cuijsh
*****/
function checkfunc(check,nextUserName,listSize){
var yewuCheck = document.getElementById(check);
var nextUserNameYewu = "";
if(yewuCheck.checked==true){
for(var h=0;h<listSize;h++){
nextUserNameYewu = document.getElementById(nextUserName+h);//用集合的下标来控制选中的是哪一个radio
if(h==0) nextUserNameYewu.checked = true;
}
}else{
for(var h=0;h<listSize;h++){
nextUserNameYewu = document.getElementById(nextUserName+h);
nextUserNameYewu.checked = false;
}
}
}
/***
*@note checkbox和radio 级联控件 监听子节点事件 三个传入参数为 #父节点ID名称 #子节点ID民称 #子节点的集合大小
*@author cuijsh
*****/
function radiofunc(check,nextUserName,listSize){
var yewuCheck = document.getElementById(check);
var nextUserNameYewu = "";
for(var h=0;h<listSize;h++){
nextUserNameYewu = document.getElementById(nextUserName+h);
if(nextUserNameYewu.checked == true) yewuCheck.checked = true;
}
}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值