2012-12-27 12 views
9

Jak mogę uzyskać wartości TDs wewnątrz tabeli HTML?Uzyskaj wartości komórek tabeli HTML w wierszach, klikając na nie

tj

| ID | cell 1 | cell 2 | 
| 1 | aaaa | a2a2a2 | 
| 2 | bbbb | b2b2b2 | 
| 3 | cccc | c2c2c2 | 

Więc teraz, gdy klikam na wartości komórek "bbbb" Chcę, aby wszystkie wartości wybranego wiersza:

$id='2'; $cell_1='bbbb'; $cell_2='b2b2b2'; 

UWAGA: ja lubię używać JavaScript, a nie jQuery.

Odpowiedz

13

Można użyć event.target.innerText dla JavaScript i $ (event.target) .text() dla jQuery, jQuery jest preferowanym rozwiązaniem, ponieważ obsługuje cross browser competibilities.

Używając tylko javascript

Live Demo

HTML

<table id="tableID" onclick="myFun(event)" border="1"> 
    <tr> 
    <td>row 1, cell 1</td> 
    <td>row 1, cell 2</td> 
    </tr> 
    <tr> 
    <td>row 2, cell 1</td> 
    <td>row 2, cell 2</td> 
    </tr> 
</table>​ 

Javascript

function myFun(e){ 
    alert(e.target.innerText); //current cell 
    alert(e.target.parentNode.innerText); //Current row. 
}​ 

Korzystanie jQuery

Live Demo

Html

<table id="tableID" border="1"> 
    <tr> 
     <td>row 1, cell 1</td> 
     <td>row 1, cell 2</td> 
    </tr> 
    <tr> 
     <td>row 2, cell 1</td> 
     <td>row 2, cell 2</td> 
    </tr> 
</table>​ 

Javascript

$('#tableID').click(function(e){ 
    alert($(e.target).text()); // using jQuery 
}) 
+3

Powiedział, że chciałby używać javascript, a nie jquery. – RJo

+2

Dzięki @rjokelai, ma znacznik jQuery i przegapiłem tę część pytania. Zaktualizowałem także javascript. – Adil

+0

dzięki człowiekowi, ale mam na myśli, aby wybrać cały wiersz nie tylko wartość komórki, jakieś rozwiązanie? – Luke

2
var table = document.getElementById('tableID'), 
    cells = table.getElementsByTagName('td'); 

for (var i=0,len=cells.length; i<len; i++){ 
    cells[i].onclick = function(){ 
     console.log(this.innerHTML); 
     /* if you know it's going to be numeric: 
     console.log(parseInt(this.innerHTML),10); 
     */ 
    } 
} 

from here

1

Zastosowanie jQuery będzie łatwe ..

$("#tableId").find("td").click(function(event){ 
    var listOfCell=$(this).siblings(); 
    for(i=0;i<listOfCell.length;i++){ 
    alert($(listOfCell[i]).text()); 
} 
}); 
2

nadzieję, że to pomaga. Zawiera skrypt przeglądarki krzyżowej.

<html> 
    <head> 
    <script type="text/javascript"> 
    function myFun(e){ 
    if(!e.target) 
     alert(e.srcElement.innerHTML); 
    else 
     alert(e.target.innerHTML); 
    } 
    </script> 
    </head> 
    <body> 
    <table id="tableID" onclick="myFun(event)" border="1"> 
    <tr> 
    <td>row 1, cell 1</td> 
    <td>row 1, cell 2</td> 
    </tr> 
    <tr> 
    <td>row 2, cell 1</td> 
    <td>row 2, cell 2</td> 
    </tr> 
    </table> 
    </body> 
    </html> 
+0

dzięki człowiekowi jest bardzo przydatna – Luke

Powiązane problemy