JSP页面使用JS控制checkbox实现全选功能 为什么实现不了,代码如下:
<html><head><title>书世界网站后台管理</title><metahttp-equiv="Content-Type"content="text/html;...
<html>
<head>
<title>书世界网站后台管理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../CSS/style.css" rel="stylesheet">
<script src="../JS/check.jsp"></script>
<script src="onclock.JS"></script>
</head>
<script language="javascript" >
function checkdel(delid,formname){
var flag = false;
for(i=0;i<delid.length;i++){
if(delid[i].checked){
flag = true;
break;
}
}
if(!flag){
alert("请选择要删除的记录!");
return false;
}else{
if(confirm("确定要删除吗?")){
formname.submit();
}
}
}
</script>
<body onLoad="clockon(bgclock)">
<%
int ID=0;
String content="";
String title="";
while(rs.next()){
ID=rs.getInt(1);
title=rs.getString(2);
content=rs.getString(3);
%>
<tr style="padding:5px;">
<td height="20" align="center"><%=chStr.convertStr(title)%></td>
<td height="20"><%=chStr.convertStr(content)%></td>
<td align="center"><input name="delid" type="checkbox" class="noborder" value="<%=ID%>"></td>
</tr>
<%
}
%>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="73%" height="24"> </td>
<td width="27%" align="right"><input name="checkbox" type="checkbox" class="noborder" onClick="CheckAll(frm.delid,frm.checkbox)">
[全选/反选] [<a style="color:red;cursor:hand;" onclick="checkdel(frm.delid,frm)">删除</a>]
<div id="ch">
<input name="delid" type="checkbox" class="noborder" value="0">
</div></td>
<!--层ch用于放置隐藏的checkbox控件,因为当表单中只是一个checkbox控件时,应用javascript获得其length属性值为undefine-->
<script language="javascript">ch.style.display="none";</script>
</tr>
</table></td>
</body>
</html>
以下是checkall功能的代码:
function CheckAll(elementsA,elementsB){
for(i=0;i<elementsA.length;i++){
elementsA[i].checked = true;//通过for全部选中复选框
}
if(elementsB.checked ==false){
for(j=0;j<elementsA.length;j++){
elementsA[j].checked = false;//通过for全部反选复选框
}
}
} 展开
<head>
<title>书世界网站后台管理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../CSS/style.css" rel="stylesheet">
<script src="../JS/check.jsp"></script>
<script src="onclock.JS"></script>
</head>
<script language="javascript" >
function checkdel(delid,formname){
var flag = false;
for(i=0;i<delid.length;i++){
if(delid[i].checked){
flag = true;
break;
}
}
if(!flag){
alert("请选择要删除的记录!");
return false;
}else{
if(confirm("确定要删除吗?")){
formname.submit();
}
}
}
</script>
<body onLoad="clockon(bgclock)">
<%
int ID=0;
String content="";
String title="";
while(rs.next()){
ID=rs.getInt(1);
title=rs.getString(2);
content=rs.getString(3);
%>
<tr style="padding:5px;">
<td height="20" align="center"><%=chStr.convertStr(title)%></td>
<td height="20"><%=chStr.convertStr(content)%></td>
<td align="center"><input name="delid" type="checkbox" class="noborder" value="<%=ID%>"></td>
</tr>
<%
}
%>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="73%" height="24"> </td>
<td width="27%" align="right"><input name="checkbox" type="checkbox" class="noborder" onClick="CheckAll(frm.delid,frm.checkbox)">
[全选/反选] [<a style="color:red;cursor:hand;" onclick="checkdel(frm.delid,frm)">删除</a>]
<div id="ch">
<input name="delid" type="checkbox" class="noborder" value="0">
</div></td>
<!--层ch用于放置隐藏的checkbox控件,因为当表单中只是一个checkbox控件时,应用javascript获得其length属性值为undefine-->
<script language="javascript">ch.style.display="none";</script>
</tr>
</table></td>
</body>
</html>
以下是checkall功能的代码:
function CheckAll(elementsA,elementsB){
for(i=0;i<elementsA.length;i++){
elementsA[i].checked = true;//通过for全部选中复选框
}
if(elementsB.checked ==false){
for(j=0;j<elementsA.length;j++){
elementsA[j].checked = false;//通过for全部反选复选框
}
}
} 展开
1个回答
展开全部
你的实现太负责了,给你个简单的实现
<a href="javascript:check(true)">全选</a> <a href="javascript:check(false)">反选</a>
function check(bvalue)
{
var checkall = document.getElementsByName("isCheckbox");//
for(var i=0;i<checkall.length;i++)
{
if(checkall[i].type=="checkbox")
{
checkall[i].checked=bvalue;
}
}
}
<a href="javascript:check(true)">全选</a> <a href="javascript:check(false)">反选</a>
function check(bvalue)
{
var checkall = document.getElementsByName("isCheckbox");//
for(var i=0;i<checkall.length;i++)
{
if(checkall[i].type=="checkbox")
{
checkall[i].checked=bvalue;
}
}
}
追问
用你的方法试了一下,还是不行,怎么回事呢?
追答
不可能,绝对可以的,你可以把下面代码建一个html试试可不可以
function check(bvalue)
{
var checkall = document.getElementsByName("test");//
for(var i=0;i
全选 反选
11111111
22222
3333
444
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询