本文主要是介绍使用masterpage的情况下如何使用js实现repeater控件里的checkbox全选,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先看js文件
function SelectAll(parentChk, ChildId, bigControlID) {
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, bigControlID)) {
oElements[i].checked = bIsChecked;
}
}
}
function IsMatch(id, ChildId, controlID) {
var sPattern = '^' + controlID + '_+.*' + 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;
}
然后看aspx页面内容
<input name="checkallmymsg" type="checkbox" value="" οnclick="SelectAll(this,'chkItem','<%=Reptomemessage.ClientID%>')" />
这个checkallmymsg是在Reptomemessage的页脚模里的。
解释下οnclick="SelectAll(this,'chkItem','<%=Reptomemessage.ClientID%>')"
中3个参数意思
this是"全选"checkbox
chkItem是repeater里的其它checkbox,通常就是每一行数据前面的那个选择用的checkbox,在这要注意Repeater里的checkbox也要叫chkItem否则是找不到的
Reptomemessage.ClientID,Repter的clientid,用来做checkbox查找用的。
这篇关于使用masterpage的情况下如何使用js实现repeater控件里的checkbox全选的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!