2016-07-26 4 views
1

Ich habe den folgenden Code getan, um alle Checkboxen in der ersten Spalte von Gridview zu überprüfen, aber es funktioniert nur für IE 5.0 bis 8.0 und gibt einen Javascript-Fehler, wenn ich es in IE 9 und oben als "Funktion erwartet" ausführen. Kann mich irgendjemand durch das führen?Aktivieren Sie alle Kontrollkästchen in der ersten Spalte von gridview?

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

Wie rufen Sie Ihre Funktion, und was ist Ihr HTML? –

+0

@JDE Ich rufe meine Funktion onClick von CheckBox. so "return selectAllItems ('" + gvFilterRecords.ClientID +' ',' "+ hdnTransactions.ClientID +" ', "+ gvFilterRecords.AllowPaging.ToString(). ToLower() +", this); " – user3682373

+0

Ich denke, das ist falsch. Gimmie eine Sekunde. Könnten Sie Ihren HTML-Code hinzufügen oder in einem Codepen replizieren? –

Antwort

2

sollten Sie eckige Klammern anstelle von Klammern:

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

N. B. Das Kontrollkästchen kann auch der untergeordnete Knoten 1 anstelle von 0 sein. Das ist, was ich mit einem TemplateField sehe, aber es kann für ein CheckBoxField oder eine automatisch generierte Spalte unterschiedlich sein.

+0

Dank Es funktionierte mit den eckigen Klammern. – user3682373