我已经完成了以下代码来检查gridview第一列中的所有复选框,但它仅适用于IE 5.0到8.0,并且当我在IE 9及更高版本中运行它作为“预期功能”时出现Javascript错误。任何人都可以指导我完成这个吗?
function selectAllItems(gridID, hdnSelectedValuesID, pagedGrid, chkSelectAllCtrl) {
var hdnSelectedValuesID = document.getElementById(hdnSelectedValuesID);
if (chkSelectAllCtrl != null) {
hdnSelectedValuesID.value = '';
var rowLength = document.getElementById(gridID).rows.length;
var upperLimitOnRows = 0;
var elementA = '';
if (pagedGrid)
upperLimitOnRows = rowLength - 1;
else
upperLimitOnRows = rowLength;
//Set the other checkboxes in the item section to selected
for (var Count = 1; Count < upperLimitOnRows; Count++) {
//Check all checkboxes in the first column of grid
document.getElementById(gridID).rows(Count).cells(0).childNodes(0).checked = chkSelectAllCtrl.checked; // Error In this Line
}
}
}
答案 0 :(得分:2)
您应该使用方括号而不是括号:
var grid = document.getElementById(gridID);
for (var count = 1; count < upperLimitOnRows; count++) {
grid.rows[count].cells[0].childNodes[0].checked = chkSelectAllCtrl.checked;
}
N.B。复选框也可能是子节点1而不是0.这就是我在TemplateField中看到的内容,但对于CheckBoxField或自动生成的列可能有所不同。