选中DataGrid中所有复选框的Javascript代码在IE中运行良好,但在chrome和FireFox中不起作用
代码在IE中运行良好,点击复选框,DataGrid中的所有其他复选框都在检查,但在使用Chrome和FireFox时,它不起作用 这是我在Asp.net中的代码:选中DataGrid中所有复选框的Javascript代码在IE中运行良好,但在chrome和FireFox中不起作用,javascript,asp.net,Javascript,Asp.net,代码在IE中运行良好,点击复选框,DataGrid中的所有其他复选框都在检查,但在使用Chrome和FireFox时,它不起作用 这是我在Asp.net中的代码: <HeaderTemplate> <asp:CheckBox runat="server" ID="chkAllDetach" AutoPostBack="false" onclick="SelectAllCheckboxes(this,'dgDetach',11);"> </asp:C
<HeaderTemplate>
<asp:CheckBox runat="server" ID="chkAllDetach" AutoPostBack="false"
onclick="SelectAllCheckboxes(this,'dgDetach',11);">
</asp:CheckBox>
</HeaderTemplate>
Javascript函数:
function SelectAllCheckboxes(spanChk,dgGrid,intRow)
{
var strRows = document.getElementById(dgGrid).rows;
try
{
for(i=1;i<strRows.length;i++)
{
strRows[i].cells[intRow].childNodes.item(0).checked = document.getElementById(spanChk.id).checked;
HighlightRow(strRows[i].cells[intRow].childNodes.item(0));
}
}
catch(e)
{
var r = '';
for (var p in e)
r += p + ': ' + e[p] + '\n';
alert(r);
return false;
}
}
function HighlightRow(chkB)
{
if(chkB.checked == true)
{
chkB.parentElement.parentElement.style.backgroundColor='#BFE3F6';
//chkB.parentElement.parentElement.style.color='';
}
else
{
chkB.parentElement.parentElement.style.backgroundColor='';
//chkB.parentElement.parentElement.style.color='#BFE3F6';
}
}
功能选择所有复选框(spanChk、dgGrid、intRow)
{
var strRows=document.getElementById(dgGrid).rows;
尝试
{
for(i=1;iId元素在DOM元素中必须是唯一的。
尝试在Html元素上设置name=“dgGrid”,然后在函数中调用它们,如:
var strRows = document.getElementsByName("dgGrid");
是什么让你认为IDs是一个问题?你的建议有什么帮助?谢谢你的回复,我在不同的页面中使用相同的代码,每次都发送唯一的DOM元素。