Getting all the values ​​of the td table in an array

I need to get all the td values ​​into an array of strings. Below is my code

var tr = "#tblPurchaseOrders tr.PO1"; $(tr).each(function(index, tr) { var lines = $(tr + " td").map(function(ind, td) { var ret = {}; ret[ind] = $(td).text(); return ret; }).get(); // I need to some more thing here // I need to store all the td values in to lines variable.. This is not working for me. // Am I missing some thing? }); 

Thanks.

+4
source share
3 answers

Try it like this:

 $('#tblPurchaseOrders tr.PO1').each(function(index, tr) { var lines = $('td', tr).map(function(index, td) { return $(td).text(); }); // Here lines will contain an array of all td values for the current row: // like ['value 1', 'value 2', 'value 3'] }); 
+15
source

Darin Dimitrov was very helpful. I changed it to get it out of a click.

 $('#tblPurchaseOrders tr').click(function(){ $(this, 'tr').each(function(index, tr) { var lines = $('td', tr).map(function(index, td) { return $(td).text(); }); //This assumes that you have a table with an id of tblPurchaseOrders and that you have two cells of data alert(lines[0] + ' ' + lines[1]); }) }); 
+2
source

Assuming row is the result of a jQuery selector, the data can be obtained as an array using the following:

 function get_row_as_array(row) { var data = $('td', row).map(function(index, value) { return $(value).text(); }); return data; } 

I am posting this answer as a general case for those who need only data from one row of the table.

 $(document).ready(function() { function get_row_as_array(row) { var data = $('td', row).map(function(index, value) { return $(value).text(); }); return data; } var row = $('#alphabet tr:eq(1)'); var result = get_row_as_array(row); $('#alphabet tr:eq(2) td:eq(2)').html(result[2]); }); 
 table { font-family: arial, sans-serif; border-collapse: collapse; width: 100%; } td, th { border: 1px solid #dddddd; text-align: left; padding: 8px; } tr:nth-child(even) { background-color: #dddddd; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <head> <title>Get Table Row as Array</title> </head> <body> <table id="alphabet"> <tr> <th>0</th> <th>1</th> <th>2</th> <th>3</th> <th>4</th> </tr> <tr> <td>Alpha</td> <td>Bravo</td> <td>Charlie</td> <td>Delta</td> <td>Echo</td> </tr> <tr> <td>Empty</td> <td>Empty</td> <td>Empty</td> <td>Empty</td> <td>Empty</td> </tr> </table> </body> </html> 
0
source

All Articles