2011-06-24 14 views
0

我有一個報表的頂部(列)有一些標題,但也有一些表頭(行)的標題。這些標頭是可變的,從未修復過。整個表是通過基於Ajax響應的DOM Scripting構建的,該響應將特定交集處的頂部標題,左側標題和數量返回給我。如何在IE7中設置已知單元格的值?

我已經有一個算法,知道如何根據列標題和行標題填充表中的單元格。

在火狐,Chrome和Safari以下工作:

document.getElementById("myTable").rows[row].cells[column].firstChild.nodeValue = item.qty.toString(); 

的問題是在IE7(什麼客戶端使用)。 IE 7不允許我通過使用[index]符號來訪問特定的單元格。基本上,它在「.cells [column]」中爆炸。你們是否知道IE7中上述語句的相同內容?

你也知道一個jQuery的方式來填充已知單元格,一旦我有行和列座標?

感謝, -Dario

+0

http://stackoverflow.com/questions/376081/how-to-get-a-table-cell-value-using-jquery/376095#376095 –

+0

jquery是好的,但你也可以使用xpath http:// js-xpath.sourceforge.net/ – aalku

+0

你可以展示更多的js /標記嗎? – hunter

回答

-1

試試這個:

$("#myTable tr:eq(" + row + ") td:eq(" + columnh + ")").html(item.qty.toString()); 
+0

'#myTable tr'將計算行中的行數 – epascarello

0

行和列將從0開始。使用上面的代碼。

0

非jQuery的方式:

document.getElementById("myTable").getElementsByTagName('tbody')[0].getElementsByTagName('tr')[row].getElementsByTagName('td')[column].innerHTML = item.qty.toString(); 
0
$("#myTable tr:eq(" + row + ") td:eq(" + column + ")").html(item.qty.toString()); 

但是你應該知道的嵌套表。特別是如果你有myTable ID的表內有另一個表。如果是的話,讓我知道,我可能會重寫你的線。

另外你應該知道我在這裏使用jQuery。將jQuery添加到您的網頁,你應該添加以下的頁面,最好在<頭>元素:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 

此,如果你想使用由谷歌託管的jQuery的文件,當然你可以下載並自行託管,如果你願意的話。

相關問題