在我们的程序开发中经常会要用到checkbox的全选,通常情况下是在一些数据绑定控件中如gridview 等
下面以repeater 为例,在repeater的header 和item中放入checkbox控件

<asp:Repeater ID="rptGroup" runat="server">
<HeaderTemplate>
<table width="100%" cellspacing="1" >
<tr>
<td width="3%" align="center" >
<input type="checkbox" id="chkAll" name="chkAll" value="checkbox" onclick="checkAll ('chkAll',this);" />
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td align="center" >
<input type="checkbox" name="chkSelect" value='<%# Eval("ID") %>' onclick="checkAll('chkAll',this);"/>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
下面就是js脚本了
checkAll方法是实现checkbox的全选和取消全选的

function checkAll(chkAllID,thisObj)
{
var chkAll = document.getElementById(chkAllID);
var chks = document.getElementsByTagName("input");
var chkNo = 0;
var selectNo = 0;
for(var i =0; i < chks.length; i++)
{
if(chks[i].type == "checkbox")
{
//全选触发事件
if(chkAll == thisObj)
{
chks[i].checked = thisObj.checked;
}
//非全选触发
else
{
if(chks[i].checked && chks[i].id != chkAllID)
selectNo++;
}
if(chks[i].id != chkAllID)
{
chkNo++;
}
}
}
if(chkAll != thisObj)
{
chkAll.checked = chkNo==selectNo;
}
}
checkSelectNo 函数是用来获取 所有checkbox 选中的个数 这个在用来判断 是否有勾选时非常有用

function checkSelectNo(chkAllID)
{
var chks = document.getElementsByTagName("input");
var selectNo =0;
for(var i =0; i < chks.length; i++)
{
if(chks[i].type == "checkbox")
{
if(chks[i].id != chkAllID && chks[i].checked)
{
selectNo++;
}
}
}
return selectNo;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2008-04-23 javascript里alert弹出框的“确定”按钮换成英文