[英]Getting data from a specific column in a HTML table when a checkbox in that row is checked using Javascript/JQuery
我有一个包含5列的HTML表。 第一列是一个复选框。 我想在选中该行中的复选框时找到第5列(最后一列)的内容。
HTML:
<table>
<tr>
<th></th>
<th>A</tr>
<th>B</tr>
<th>C</tr>
<th>D</tr>
</tr>
<tr>
<td><input type='checkbox' class="chk" /></td>
<td>data for A1</td>
<td>data for B1</td>
<td>data for C1</td>
<td>data for D1</td>
</tr>
<tr>
<td><input type='checkbox' class="chk"/></td>
<td>data for A2</td>
<td>data for B2</td>
<td>data for C2</td>
<td>data for D2</td>
</tr>
</table>
我是javascript的初学者,但尝试过这样做。
** JS:**
$(document).ready(function(){
if($('input.chk').is(':checked')){
var y = $("td:nth-of-type(5)").html();
alert(y);
}
});
此函数仅返回第一行,即选中复选框时,它显示“D1的数据”。 但我想要所有的行。
谢谢你的帮助。 :)
请尝试一次:
$(".chk").on("change", function(){
var y = $(this).parent().parent().find('td').eq(4).html();
alert(y);
});//
如果只有选中复选框才要执行此代码,则可以添加:checked
condition。
另一种方法是基于使用eq :
$(function () { $(':checkbox').on('click', function(e) { if (this.checked == true) { var fifthEle = $(this).parent().siblings().eq(3); $('#logMsg').append('<p>' + fifthEle.text() + '</p>'); } }) });
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script> <table> <tr> <th></th> <th>A <th>B <th>C <th>D </tr> <tr> <td><input type='checkbox' class="chk"/></td> <td>data for A1</td> <td>data for B1</td> <td>data for C1</td> <td>data for D1</td> </tr> <tr> <td><input type='checkbox' class="chk"/></td> <td>data for A2</td> <td>data for B2</td> <td>data for C2</td> <td>data for D2</td> </tr> </table> <div id="logMsg"></div>
请试试这个
$(document).on('click','input.chk',function(){
// getting the tds with in the rows in which check exists
$tds=$(this).parent().siblings();
if($(this).is(':checked'))
{
$data=$($tds[$tds.length-1]).text();
alert($data);
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.