2008年4月29日 星期二

checkbox 全選或取消

介紹一個將 checkbox 全選或是取消的方法。
關鍵的 js 語法如下:




function chkall(input1,input2)
{
var objForm = document.forms[input1];
var objLen = objForm.length;
for (var iCount = 0; iCount < objLen; iCount++)
{  
if (input2 == true)  
{   
if (objForm.elements[iCount].type == "checkbox")
{  
objForm.elements[iCount].checked = true;  
}  
}
else
{  
if (objForm.elements[iCount].type == "checkbox")  
{
objForm.elements[iCount].checked = false;
}
}
}
}

這方法的優點,是會將 form 名稱當參數傳入。在ASP.Net 2.0可以發現,如果你有使用 MasterPage時,預設的 form 名稱會變成 aspnetForm。 缺點是,這是會影響目前畫面上的所有 checkbox,如果你的畫面上出現的都是你想要變更的 checkbox,那就無妨,否則還需要作一些加工才能符合需求。

詳細程式碼:[Here]


在這個範例中,分別用了2個 GridView,其中一個採用 預設的 checkbox ServerControl ,另一個則是 Html checkbox,當畫面上有個觸發 PostBack 的按鈕執行後,只剩下 ServerControl 依然能夠維持目前所勾選的狀態。

沒有留言:

張貼留言