选中网格视图第一列中的所有复选框

Check all checkboxes in first column of gridview?

本文关键字:一列 复选框 网格 中网 视图      更新时间:2023-09-26

我已经完成了以下代码来检查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
    }
}
}

您应该使用方括号而不是圆括号:

var grid = document.getElementById(gridID);
for (var count = 1; count < upperLimitOnRows; count++) {
   grid.rows[count].cells[0].childNodes[0].checked = chkSelectAllCtrl.checked;
}

注意:复选框也可以是子节点1,而不是0。这就是我在TemplateField中看到的,但对于CheckBoxField或自动生成的列来说可能不同。