一段可实现Repeater,GridView中全选Checkbox的JS代码 以下代码以Repeater为例,本代码可以实现两列Checkbox全选操作.
< HeaderTemplate > 部分代码:
< input id = " chkAll " name = " chkAll " runat = " server " type = " checkbox " onclick = " Check(this,'chkItem') " title = " 全选 " />
< ItemTemplate > 列表部分代码:
< asp:CheckBox ID = " chkItem " runat = " server " />
JS部分代码:
< script language = " javascript " type = " text/javascript " >
function Check(parentChk,ChildId)
{
var oElements = document.getElementsByTagName("INPUT");
var bIsChecked = parentChk.checked;
for(i=0; i<oElements.length;i++)
{
if( IsCheckBox(oElements[i]) &&
IsMatch(oElements[i].id, ChildId))
{
oElements[i].checked = bIsChecked;
}
}
}
function IsMatch(id, ChildId)
{
var sPattern ='^Repeater1.*'+ChildId+'$';
var oRegExp = new RegExp(sPattern);
if(oRegExp.exec(id))
return true;
else
return false;
}
function IsCheckBox(chk)
{
if(chk.type == 'checkbox') return true;
else return false;
}
</ script >
< HeaderTemplate > 部分代码:
< input id = " chkAll " name = " chkAll " runat = " server " type = " checkbox " onclick = " Check(this,'chkItem') " title = " 全选 " />
< ItemTemplate > 列表部分代码:
< asp:CheckBox ID = " chkItem " runat = " server " />
JS部分代码:
< script language = " javascript " type = " text/javascript " >
function Check(parentChk,ChildId)
{
var oElements = document.getElementsByTagName("INPUT");
var bIsChecked = parentChk.checked;
for(i=0; i<oElements.length;i++)
{
if( IsCheckBox(oElements[i]) &&
IsMatch(oElements[i].id, ChildId))
{
oElements[i].checked = bIsChecked;
}
}
}
function IsMatch(id, ChildId)
{
var sPattern ='^Repeater1.*'+ChildId+'$';
var oRegExp = new RegExp(sPattern);
if(oRegExp.exec(id))
return true;
else
return false;
}
function IsCheckBox(chk)
{
if(chk.type == 'checkbox') return true;
else return false;
}
</ script >