我有一张桌子(id =“deneme”)。
我需要遍历td值,确定用户检查了哪些复选框,对于带有复选框的行,请获取中间列的唯一文本(文字)的值。
也许对于第一个字母可以定义一个算法。
<table id="docsTable">
<tr bgcolor="#E7DDCC" class="liste-0">
<td align="center"><input type="checkbox"/></td>
<td>Document Title 1</td>
<td>567</td>
</tr>
<tr bgcolor="#E7DDCC">
<td align="center"><input type="checkbox"/></td>
<td>accure</td>
<td>134</td>
</tr>
<tr bgcolor="#E7DDCC">
<td align="center"><input type="checkbox"/></td>
<td>Zebra</td>
<td>231</td>
</tr>
</table>
<input type='button' id='btnTest' value='Get Rows' />
$(function() {
$('#btnTest').click(function() {
$('#docsTable input[type="checkbox"]:checked').each(function() {
var $row = $(this).parents('tr');
alert($row.find('td:eq(0) input').val());
alert($row.find('td:eq(1)').html());
alert($row.find('td:eq(2)').html());
});
});
});
演示:
http://www.jsfiddle.net/3yYFY/
我该怎么做?
提前致谢。
答案 0 :(得分:1)
您可以使用has
和map
方法并将值存储在数组中。
$('#btnTest').click(function() {
var arr = $('#docsTable tr').has('input[type="checkbox"]:checked').map(function() {
return $('td:eq(1)', this).text()
}).get();
});
答案 1 :(得分:0)
根据我对你的问题的理解,你应该使用nearest()而不是find()方法
答案 2 :(得分:0)
$("#docsTable input:checked").closest("tr").find("td:eq(1)").map(function () {
return $(this).text();
}).toArray()
答案 3 :(得分:0)
$(':checked').parent().next().each(function(){alert($(this).html())})