遍历集合中全选框和复选框选中事件

jsp页面:

<div class="border">
	<s:form name="form2" method="post" action="sysUserGroupAction_delete.do" namespace="/sys">
		<table width="100%" border="0" cellspacing="0" cellpadding="0" id="PowerTable" class="PowerTable">
			<tr>
				<td width="5%" class="listViewThS1">
					<input type="checkbox" id="checkall" name="checkall" value="" 
							class="checkbox" onClick="checkAll()"></td>
				<td width="20%" class="listViewThS1">部门名称</td>
				<td width="15%" class="listViewThS1">部门负责人</td>
				<td width="50%" class="listViewThS1">部门职能</td>
				<td width="10%" class="listViewThS1">人员设置</td>
			</tr>
			<s:if test="#request.sysUserGroups != null">
				<s:iterator var="sysUserGroup" value="%{#request.sysUserGroups}">
					<tr>
						<td><input type="checkbox" name="ids" value="12" class="checkbox" onClick="changeCheckCount();"></td>
						<td>
							<a href="${pageContext.request.contextPath}/sys/sysUserGroupAction_edit.do?id=<s:property value="#sysUserGroup.id"/>">
								<s:property value="#sysUserGroup.name"/>
							</a>
						</td>
						<td>
							<s:property value="#sysUserGroup.principal"/>
						</td>
						<td>
							<s:property value="#sysUserGroup.incumbent"/>
						</td>
						<td>
							<a href="javascript:OpenWin('${pageContext.request.contextPath}/sys/group/usersInGroup.jsp?id=12')">设置</a>
						</td>
					</tr>
				</s:iterator>
			</s:if>
			<s:else>没有任何用户信息!</s:else>
		</table>
	</s:form>
</div>

JS代码:

<script type="text/javascript">
	// 遍历的每一个复选框
	function changeCheckCount() {
		var count = 0;	// 声明一个变量
		// 所有name属性为ids的复选框, 即所有被遍历的复选框; index:复选框的序号, 从0开始; 
		// data:每一个复选框对象, data.value:每一个复选框对象的value值
		$("input[type='checkbox'][name='ids']").each(function(index, data) {
			if (this.checked) {		// 当前复选框被选中
				count++;			// 数量+1
			}
		});
		if (count == $("input[type='checkbox'][name='ids']").length) {	// 数量等于被遍历的复选框数目, 即全选了
			$("#checkall").attr("checked", "checked");	// 全选复选框被选中
		} else {
			$("#checkall").attr("checked", null);	// 否则没有被选中
		}
	}

	// 全选框
	function checkAll() {
		if ($("#checkall")[0].checked) {	// 全选框被选中
			$("input[type='checkbox'][name='ids']").attr("checked", "checked");	// 所有复选框都被选中
		} else {
			$("input[type='checkbox'][name='ids']").attr("checked", null);	// 所有复选框都没被选中
		}
	}
</script>

页面效果:

    

 

posted @ 2017-05-24 21:27  半生戎马,共话桑麻、  阅读(123)  评论(0)    收藏  举报
levels of contents