在網上查了下:
看下面的datagrid代碼
<HeaderTemplate>
刪除文章
<input type="checkbox" id="checkDel" title="全選/全取消刪除文章" onclick="CheckDelBox(this)" /><font color=#ff0000 size=1>全選/全取消</font>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="deleteCheckbox" runat="server" AutoPostBack="False"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
我在選擇id="checkDel" 的選擇框時,要對模版中的deleteCheckbox進行全選和全取消
我調用了js
function CheckDelBox(box)
{
for (var i=0;i<document.Form1.elements.length;i++)
{
var e = document.Form1.elements[i];
if ( (e.type=='checkbox') )
{
var o=e.name.lastIndexOf('deleteCheckbox');
if(o!=-1)
{
e.checked = box.checked;
}
}
}
}
注意這段代碼
var o=e.name.lastIndexOf('deleteCheckbox');
在某些情況下,id在客戶端的呈現不是在aspx中你指定的id了,而是控件.ClientID,比如在DataGrid中放置的一些服務器端控件,查看一下源代碼可以看到id是類似DataGrid1__ctl5_Hyperlink1而不是你指定的id了
<HTML>
<HEAD>
<TITLE> 用一個Check或者按鈕全選頁面上的CheckBox </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="活靶子">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<form name=frm>
<input type=checkbox value="第一個">
</br>
<input type=checkbox value="第二個">
</br>
<input type=checkbox value="第三個">
</br>
<input type=checkbox value="第四個">
</br>
<input type=checkbox value="第五個">
</br>
<input type="checkbox" name="allbox" value="Check All" onClick="CheckAll();"><font color="#6666FF">
<a href="javascript:CheckAll();" onClick="allbox.checked=!allbox.checked" style="font-size:12px">選中所有CheckBox</a>
</form>
<script language="JavaScript">
<!--
function CheckAll()
{
for (var i=0;i<document.frm.elements.length;i++)
{
var e = document.frm.elements[i];
if (e.name != 'allbox' && e.type.toUpperCase() == "CHECKBOX")
e.checked = document.frm.allbox.checked;
}
}
//-->
</script>
</BODY>
</HTML>