(一).功能
1. JavaScript檢索CheckBox並實現全選和全消功能
用C#等寫的CheckBox需要回傳到服務端執行,
而用JavaScript可以在直接用戶端實現,效率高些
(二).代碼
1. DataGrid中的代碼主要片段:
<Columns>
<HeaderTemplate> //頭模板代碼
<asp:CheckBox id="chkHeader" runat="server" AutoPostBack="False" //AutoPostBack設為假,不需要回傳
onclick="javascript:SelectAll(this);"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate> //項目範本代碼
<asp:CheckBox id="chkItem" runat="server"></asp:CheckBox>
</ItemTemplate>
</Columns>
2. 在當頁加入:
<script language="javascript">
function SelectAll(tempControl)
{
//將除頭模板中的其它所有的CheckBox取反
var theBox=tempControl;
xState=theBox.checked;
elem=theBox.form.elements;
for(i=0;i<elem.length;i++)
if(elem[i].type=="checkbox" && elem[i].id!=theBox.id)
{
if(elem[i].checked!=xState)
elem[i].click();
}
}
</script>
3.當使用者選擇好後台代碼取得某列CheckBox的值:
for (int i = 0;i <this.DataGrid.Items.Count;i++)
{
bool blnIfSelect = ((CheckBox)this.DataGrid.Items[i].FindControl("chkItem")).Checked;
....; //這是可以根據blnIfSelect進行各種操作了
}