ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>ÍøÒ³ÖÆ×÷>Javascript>Áбí

javascriptʵÏÖdatagrid¿Í»§¶ËcheckboxÁеÄȫѡ,·´Ñ¡

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-02-23
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!

×î¼ò¸ñʽ£ºÕâÊÇÒ»¸ö͵Çɵķ½·¨£¬µ«²»Í¨Óá£Ç°ÌáÊÇÕâ¸öÒ³ÃæÖ»ÓÐÒ»¸ödatagrid£¬ÇÒÖ»ÓÐdatagridÖÐÓÐcheckbox£»Õâ¸ö¾Í±È½Ï·½±ã¡£Ö÷Ҫ˼·¾ÍÊÇËÑË÷³öÕû¸öÒ³ÃæµÄcheckbox£¬½«ËüÃÇÈ«²¿Ñ¡Öлò·´Ñ¡¡£
// ȫѡ
function allCheck()
{
for (var i=0;i<Form1.elements.length;i )
{
var e=Form1.elements[i];
if (e.type=='checkbox')
e.checked=true;
}

}
//·´Ñ¡
function revCheck()
{
for (var i=0;i<Form1.elements.length;i )
{
var e=Form1.elements[i];
if (e.type=='checkbox')
e.checked=!e.checked;
}
}


ͨÓüòµ¥¸ñʽ
ÒòΪasp.netÒ³ÃæÖÐÉú³ÉdatagridÖеÄcheckbox£¬ËûµÄIDÊÇÒª¸Ä±äµÄ£¬ËùÒÔÎÒÃÇѰÕÒËüÃǵĹæÂÉ£¬¾Í¿ÉÒÔ׼ȷµÄÕÒµ½Õâ¸ö¿Ø¼þ£¬´Ó¶ø½øÐÐȫѡºÍ·´Ñ¡¼°Ñ¡ÖеIJÙ×÷£¬
²ÎÊý˵Ã÷£º
prefix£ºÇ°×º£»s£ºÑ¡Ôñ¿òID£»chk£ºÑ¡Ôñ¿òµÄID£»


function getObj( objID )
{
return document.getElementById( objID );
}

// ȫѡ
function _SelectAll( prefix,s,chk )
{
var oArr = _GetColl( prefix,s,chk );
for( var o in oArr )
{
oArr[o].checked = true;
}
}
// ·´Ñ¡
function _RevSelect( prefix,s,chk )
{
var oArr = _GetColl( prefix,s,chk );
for( var o in oArr )
{
oArr[o].checked = !oArr[o].checked;
}
}

// »ñÖµ
function _GetColl( prefix,s,chk )
{
var i = s;
var oArr = new Array();
while( true)
{
var o = getObj( prefix '__ctl' i '_' chk);
if( o != null )
{
oArr.push( o );
}
else
{
break;
}
i ;
}

return oArr;
}
// ¼ì²éÊÇ·ñÑ¡ÖÐ
function _CheckSelect( prefix,s,chk )
{
var oArr = _GetColl( prefix,s,chk );
for( var o in oArr )
{
if( oArr[o].checked)
{
return true;
}
}
return false;

}

ÍÆ¼öͨÓÃÏêϸ¸ñʽ£ºhttp://www.cnblogs.com/ghd258/archive/2005/11/07/270449.html#Post
/* ·ÖÒ³
2 ²ÎÊý˵Ã÷£º
3 prefix£ºÇ°×º£»chkAll£ºÈ«Ñ¡¿ò£»chkSingle£ºµ¥Ñ¡¿òID
4
5 ʹÓ÷½·¨£º
6 if(e.Item.ItemType == ListItemType.Header)
7 {
8 ((CheckBox)e.Item.Cells[1].FindControl("chkAll")).Attributes.Add("onclick","CheckAll('" this.dg.ClientID.ToString() "','chkAll','chkSingle');");
9 }
10*/
11function CheckAll(prefix,chkAll,chkSingle)
12{
13 var indexChkAll;
14 if(prefix.length != 0)
15 {
16 indexChkAll = prefix "__ctl2_" chkAll;
17 }
18 else
19 {
20 indexChkAll = chkAll;
21 }
22 var objChkAll = document.getElementById(indexChkAll);
23 var tempObj;
24 for(var i=0;i<document.forms[0].elements.length;i )
25 {
26 tempObj = document.forms[0].elements[i];
27 if(tempObj.type == "checkbox" && tempObj.id != indexChkAll && tempObj.id.indexOf(chkSingle) != -1)
28 {
29 tempObj.checked = objChkAll.checked;
30 }
31 }
32}
33/**//* ·ÖÒ³
34 ²ÎÊý˵Ã÷£º
35 prefix£ºÇ°×º£»chkAll£ºÈ«Ñ¡¿ò£»chkSingle£ºµ¥Ñ¡¿òID
36
37 ʹÓ÷½·¨£º
38 if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
39 {
40 ((CheckBox)e.Item.Cells[1].FindControl("chkSingle")).Attributes.Add("onclick","CheckSingle('" this.dg.ClientID.ToString() "','chkAll','chkSingle');");
41 }
42*/
43function CheckSingle(prefix,chkAll,chkSingle)
44{
45 var indexChkAll;
46 if(prefix.length != 0)
47 {
48 indexChkAll = prefix "__ctl2_" chkAll;
49 }
50 else
51 {
52 indexChkAll = chkAll;
53 }
54 var objChkAll = document.getElementById(indexChkAll);
55 var tempObj;
56 var allCount = 0;
57 var checkCount = 0;
58 for(var i=0;i<document.forms[0].elements.length;i )
59 {
60 tempObj = document.forms[0].elements[i];
61 if(tempObj.type == "checkbox" && tempObj.id != indexChkAll && tempObj.id.indexOf(chkSingle) != -1)
62 {
63 if(tempObj.checked)
64 {
65 checkCount ;
66 }
67 else
68 {
69 objChkAll.checked = false;
70 //break;
71 }
72 allCount ;
73 }
74 }
75 if(checkCount != allCount)
76 {
77 objChkAll.checked = false;
78 }
79 else
80 {
81 if(allCount != 0)
82 {
83 objChkAll.checked = true;
84 }
85 }
86}
87/**//*
88 ²ÎÊý˵Ã÷£º
89 prefix£ºÇ°×º£»chkAll£ºÈ«Ñ¡¿ò£»chkSingle£ºµ¥Ñ¡¿òID
90 type£º1¡¾È«Ñ¡¡¿£¬2¡¾·´Ñ¡¡¿£¬3¡¾È¡Ïû¡¿
91
92 ʹÓ÷½·¨£º
93 this.btnSelectAll.Attributes.Add("onClick","CheckType('" this.dg.ClientID.ToString() "','chkAll','chkSingle',1);");
94 this.btnUnSelectAll.Attributes.Add("onClick","CheckType('" this.dg.ClientID.ToString() "','chkAll','chkSingle',2);");

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!