要实现的功能:当下面的复选框全部被选中时,全选复选框自动被选中。用javascript实现。下面给下代码:
请注意以下:我的代码里已经有了两个关于复选框的方法了
<script language="JavaScript">
function CheckAll(form) {//方法一:当全选复选框选中(为选中)时,下面的所有复选框全部选中(全部未被选中)
for (var i=0;i<form.elements.length;i++) {
var e = form.elements[i];
if (e.name != 'checkbox')
e.checked = form.selectAllCK.checked;
}
}
function checkOne(obj){//方法二:在全选复选框被选中(且下面的所有复选框全部被选中)的前提下,
///当下面的某个复选框不被选中时,全选复选框自动不被选中
if(!obj.checked){
document.forms[0].selectAllCK.checked = obj.checked;
}
}
</script><body leftmargin="0" topmargin="0" >
<form>
<TABLE width="98%" border="0" cellPadding="3" cellSpacing="1" class="datatable">
<TR class="trtitle">
<TD width="10%"><div align="center" >
<input type="checkbox" name="selectAllCK" id="selectAllCK" value="checkbox" onclick="CheckAll(this.form);">
全选</div>
</TD>
</TR>
<c:forEach items="${pageBean.dataList}" var="item" varStatus="s">
<TR class="tr01">
<td ><div align="center">
<input type="checkbox" name="usercheckbox" id="usercheckbox" class="usercheckbox" onclick="checkOne(this);" value="${item.id}">
</div>
</td>
</TR>
</c:forEach>
</TABLE>
</form>
</body>在上面代码的基础上,我该怎么写提问中所提到功能的代码?该写在哪?如何调用?谢谢!
请注意以下:我的代码里已经有了两个关于复选框的方法了
<script language="JavaScript">
function CheckAll(form) {//方法一:当全选复选框选中(为选中)时,下面的所有复选框全部选中(全部未被选中)
for (var i=0;i<form.elements.length;i++) {
var e = form.elements[i];
if (e.name != 'checkbox')
e.checked = form.selectAllCK.checked;
}
}
function checkOne(obj){//方法二:在全选复选框被选中(且下面的所有复选框全部被选中)的前提下,
///当下面的某个复选框不被选中时,全选复选框自动不被选中
if(!obj.checked){
document.forms[0].selectAllCK.checked = obj.checked;
}
}
</script><body leftmargin="0" topmargin="0" >
<form>
<TABLE width="98%" border="0" cellPadding="3" cellSpacing="1" class="datatable">
<TR class="trtitle">
<TD width="10%"><div align="center" >
<input type="checkbox" name="selectAllCK" id="selectAllCK" value="checkbox" onclick="CheckAll(this.form);">
全选</div>
</TD>
</TR>
<c:forEach items="${pageBean.dataList}" var="item" varStatus="s">
<TR class="tr01">
<td ><div align="center">
<input type="checkbox" name="usercheckbox" id="usercheckbox" class="usercheckbox" onclick="checkOne(this);" value="${item.id}">
</div>
</td>
</TR>
</c:forEach>
</TABLE>
</form>
</body>在上面代码的基础上,我该怎么写提问中所提到功能的代码?该写在哪?如何调用?谢谢!
function seleceAll(){
var sel = document.getElementById("selectall");
var database = document.getElementsByName("database");
if(sel.checked)
{
for(var i=0;i<database.length;i++){
database[i].checked=true;
}
}
else
{
for(var i=0;i<database.length;i++){
database[i].checked=false;
}
}
}
function checkOne(obj){
if(!obj.checked){
document.forms[0].selectAllCK.checked = obj.checked;
}
var b = true;
var arr = document.getElementsByName(obj.name);
for(var i=0;i<arr.length;i++){
if(!arr[i].checked){b=false; break;}
}
document.forms[0].selectAllCK.checked = b;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {color: #FFFFFF}
-->
</style>
<script type="text/javascript">
/*----------------------------------------------////
*根据ID选择对象
@param {String}sId
@return {HtmlElement}
*/function $(sId){
return document.getElementById(sId);
}
/*----------------------------------------------////
*选择所有
*@param {boolean}state 选中状态
*/function selectAll(state){
var oTbody=$("tbody1");
var aInputs=oTbody?oTbody.getElementsByTagName("input"):[];
var i,nLen=aInputs.length;
for(i=0;i<nLen;i++){
if(aInputs[i].type.toLowerCase()=="checkbox")
aInputs[i].checked=state;
}
}
/*----------------------------------------------////
*当页面载入时绑定选中处理函数
*/window.onload=function(){
var nSelCount=function(){//若果你知道确切个数可省略计算
var oTbody=$("tbody1");
var aInputs=oTbody?oTbody.getElementsByTagName("input"):[];
var i,nSelCount=0,nLen=aInputs.length;
for(i=0;i<nLen;i++){
if(aInputs[i].checked)
nSelCount++;
}
return nSelCount;
}();
var nChkCount=function(){//若果你知道确切个数可省略计算
var oTbody=$("tbody1");
var aInputs=oTbody?oTbody.getElementsByTagName("input"):[];
var i,finds=0,nLen=aInputs.length;
for(i=0;i<nLen;i++){
if(aInputs[i].type.toLowerCase()=="checkbox")
finds++;
}
return finds;
}();
var fn=function(e){
var evt=e||window.event;
var srcEl=evt.target||evt.srcElement;
nSelCount+=srcEl.checked?1:-1;
$("chkAll").checked=(nSelCount==nChkCount);
}
var oTbody=$("tbody1");
var aInputs=oTbody?oTbody.getElementsByTagName("input"):[];
var i,finds=0,nLen=aInputs.length;
for(i=0;i<nLen;i++){
if(aInputs[i].type.toLowerCase()=="checkbox")
aInputs[i].onclick=fn;
}
}</script>
</head>
<body>
<table width="52%" border="1" cellspacing="0" cellpadding="0">
<thead>
<tr>
<td width="15%" align="center" bgcolor="#999999">
<input type="checkbox" id="chkAll" onclick="selectAll(this.checked)"/>
</td>
<td width="36%" align="center" bgcolor="#999999"><span class="STYLE1">列1</span></td>
<td width="49%" align="center" bgcolor="#999999"><span class="STYLE1">列2</span></td>
</tr>
</thead>
<tbody id="tbody1">
<tr>
<td align="center"><input type="checkbox" /></td>
<td>11</td>
<td>12</td>
</tr>
<tr>
<td align="center"><input type="checkbox" /></td>
<td>21</td>
<td>22</td>
</tr>
<tr>
<td align="center"><input type="checkbox" checked="checked"/></td>
<td>31</td>
<td>32</td>
</tr>
<tr>
<td align="center"><input type="checkbox" /></td>
<td>41</td>
<td>42</td>
</tr>
</tbody>
</table>
</body>
</html>
还是hookee明白我的意思啊。谢谢!另外,也谢谢另外两位的参与!