0

在ASP.NET 2.0 Web應用程序中,有一個網格視圖,其中的行以第一列動態創建爲複選框。用戶要麼檢查GridView行中的單個複選框,要麼只檢查全部檢查以檢查GridView中的所有行。GridView標題複選框更改在IE中不起作用9

我添加了一個帶有標題模板(標題行)和項目模板(數據行)的模板字段。 當用戶點擊GridView_RowDataBound事件中的標題行復選框時,我添加了javascript方法來檢查所有數據行復選框。

JavaScript函數通過「的getElementById(‘GridViewName’)獲得GridView和檢查是否行的第一個單元格類型的複選框,然後選中該複選框。

//get gridview from the document 
    var grid = document.getElementById(gridId); 
    //total rows in the gridview 
    var rowsCount = grid.rows.length; 
    //cond: sent by header checkbox 
    if (bIsHeader == true) { 
     //loop starts from 1. rows[0] points to the header. 
     for (i = 1; i < rowsCount; i++) { 
      //get the reference of first column 
      cell = grid.rows[i].cells[0]; 
      //cond: confirm type of the cell child 
      if (cell.childNodes[0].type == "checkbox") { 
       //assign header checkbox state to every row 
       cell.childNodes[0].checked = chkBox; 
      } 
     } 
    } 

它在IE 8和更低版本工作正常。但是,在IE 9,當這個JavaScript函數來獲取行的childNodes來檢查它是否是複選框或沒有。它不會在步驟。

我想解決什麼?

在我的代碼,row.childN odes在IE 9中不起作用。在IE 9及更高版本中,此屬性的替代選項是什麼?

+0

你確定這個問題是關於** row.childNodes **嗎?我準備JsFiddle [示例](http://jsfiddle.net/ENZhp/)和這個例子在IE9中工作,它使用** row.childNodes **屬性 – vadim

+0

是的,但我現在想通了。我用row.children替換了row.childNodes,它也在IE9和IE8上工作。 –

回答

0

row.children財產爲我完成這項任務。

相關問題