Thursday, May 23, 2024
 Popular · Latest · Hot · Upcoming
124
rated 0 times [  130] [ 6]  / answers: 1 / hits: 40945  / 12 Years ago, wed, march 14, 2012, 12:00:00

I have a table like below



<table id=mytable>
<tr><th>checked</th><th>id</th><th>text</th></tr>
<tr><td><input id=cb1 type=checkbox name=checker1/></td><td>123</td><td>abc</td></tr>
<tr><td><input id=cb1 type=checkbox name=checker1/></td><td>456</td><td>def</td></tr>
<tr><td><input id=cb1 type=checkbox name=checker1/></td><td>789</td><td>ghi</td></tr>
</table>


I want to retrieve (using jquery) a javascript array of all checked ID's in the table.



So far I have the following jquery code which on the click of the jqcc button brings me an alert box for each of the checked items, so instead of alert, i need to retrieve the value of the second td and add it to an array,



$(document).ready(function() {
var tableControl= document.getElementById('mytable');
$('#jqcc').click(function() {
$('input:checkbox:checked', tableControl).each(function() {
alert('checked');
});
});
});

More From » jquery

 Answers
5

You should do



$(document).ready(function() {
var tableControl= document.getElementById('mytable');
var arrayOfValues = [];
$('#jqcc').click(function() {
$('input:checkbox:checked', tableControl).each(function() {
arrayOfValues.push($(this).closest('tr').find('td:last').text());
}).get();
});
});


arrayOfValues will hold the text inside the last td.



EDIT of course you could also use map



$(document).ready(function() {
var tableControl= document.getElementById('mytable');
var arrayOfValues = [];
$('#jqcc').click(function() {
arrayOfValues = $('input:checkbox:checked', tableControl).map(function() {
return $(this).closest('tr').find('td:last').text();
});
});
});

[#86852] Tuesday, March 13, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
paola

Total Points: 675
Total Questions: 115
Total Answers: 95

Location: Laos
Member since Tue, Jul 7, 2020
4 Years ago
;