2012-05-11 32 views

Odpowiedz

30
document.getElementById("tblBlah").rows[i].columns[j].innerHTML; 

Powinno być:

document.getElementById("tblBlah").rows[i].cells[j].innerHTML; 

Ale mam wrażenie, że rząd/ogniwo potrzebne jest jedno kliknięcie przez użytkownika. Jeśli tak, to najprostszym sposobem osiągnięcia tego celu byłoby dołączenie zdarzenie do komórek w tabeli:

function alertInnerHTML(e) 
{ 
    e = e || window.event;//IE 
    alert(this.innerHTML); 
} 

var theTbl = document.getElementById('tblBlah'); 
for(var i=0;i<theTbl.length;i++) 
{ 
    for(var j=0;j<theTbl.rows[i].cells.length;j++) 
    { 
     theTbl.rows[i].cells[j].onclick = alertInnerHTML; 
    } 
} 

To sprawia, że ​​wszystkie komórki tabeli klikalne i ostrzegać To innerHTML. Obiekt zdarzenia zostanie przekazany do funkcji alertInnerHTML, w której obiekt będzie odwołaniem do klikniętej komórki. Obiekt zdarzenia oferuje mnóstwo ciekawych sztuczek dotyczących zachowania zdarzenia kliknięcia, jeśli, powiedzmy, istnieje łącze w klikniętej komórce, ale sugeruję sprawdzenie MDN i MSDN (dla obiektu window.event)

+0

DUH! DZIĘKI ALOT – MIrrorMirror

+0

Dzięki. Używałem kolumn i to nie działało. – SearchForKnowledge

Powiązane problemy