检查gridview第一列中的所有复选框?

时间:2016-07-26 14:46:20

标签: javascript jquery html asp.net gridview

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

1 个答案:

答案 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或自动生成的列可能有所不同。