2016-07-26 5 views
1

私はgridviewの最初の列にあるすべてのチェックボックスをチェックするために以下のコードを実行しましたが、Internet Explorer 5.0から8.0のみで動作し、Internet Explorer 9以上で "Function Expected"と実行するとJavascriptエラーが発生します。誰もがこれで私を導くことができますか?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

あなたの関数をどのように呼び出すのですか、あなたのhtmlは何ですか? –

+0

@ JDE私はCheckBoxのonClick関数を呼び出しています。 ToLower()+ "、this);"このように "return selectAllItems( '" + gvFilterRecords.ClientID + "'、" + hdnTransactions.ClientID + "'、" + gvFilterRecords.AllowPaging.ToString() – user3682373

+0

あなたのこれは間違っていると思います。 gimmie a sec。あなたはあなたのhtmlを追加するか、それをcodepenで複製できますか? –

答えて

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.このチェックボックスは、0ではなく子ノード1でもかまいません。これはTemplateFieldで表示されますが、CheckBoxFieldまたは自動生成列では異なる場合があります。

+0

ありがとうそれは角括弧で働いた。 – user3682373

関連する問題