GridView中checkbox"全选/取消"完美兼容IE和Firefox

538 查看

复制代码 代码如下:

function selectAll(obj)
{
var theTable = obj.parentNode.parentNode.parentNode.parentNode;
var i;
var j = obj.parentNode.cellIndex;
for(i=1;i<theTable.rows.length;i++)
{
if(theTable.rows[i].cells.length<j) continue;
var objCheckBox = theTable.rows[i].cells[j].getElementsByTagName('input')[0];
if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
}
}

在Head的checkbox加上onclick="selectAll(this)"就可以,支持任意多列checkbox。
复制代码 代码如下:

<asp:TemplateField HeaderText="<input id='Checkbox1' type='checkbox' onclick='selectAll(this)' />序号">
<ItemTemplate>
<input id="Checkbox1" type="checkbox" onclick="Get_jdzh(this);" title='<%#Convert.ToString(Eval("cpdm")).Trim() %>' />
</ItemTemplate>
</asp:TemplateField>

theTable.rows[i].cells[j].getElementsByTagName('input')[0];千万不能用firstChild,否则FF下会出错。