Javascript 如何获取在同一行中选中哪个复选框的td值
在我的项目中,我使用表 我的html代码是:Javascript 如何获取在同一行中选中哪个复选框的td值,javascript,jquery,Javascript,Jquery,在我的项目中,我使用表 我的html代码是: <table id="assTB" border="1px" cellspacing="0"> <colgroup> <col style="width:15%"> <col style="width:15%"> <col style="width:70%"> </colgroup> <t
<table id="assTB" border="1px" cellspacing="0">
<colgroup>
<col style="width:15%">
<col style="width:15%">
<col style="width:70%">
</colgroup>
<tbody>
<tr style="height:35px">
<td bgcolor="#CDCDCD"><b><input type="checkbox" id="assCB"></b></td>
<td bgcolor="#CDCDCD"><b>id</b></td>
<td bgcolor="#CDCDCD"><b>name</b></td>
</tr>
</tbody>
<tr>
<td><b><input type='checkbox'></b></td>
<td>1</td>
<td>Tom</td>
</tr>
<tr>
<td><b><input type='checkbox'></b></td>
<td>2</td>
<td>John</td>
</tr>
</table>
<input type="button" onclick="selAtt()">
身份证件
名称
1.
汤姆
2.
约翰
我的js代码是:
function selAtt()
{
var xzyId=document.getElementById("assTB");//tableID
var checked=xzyId.getElementsByTagName("input");//checkbox
var names = [];
for(i=1;i<checked.length;i++)
{
if(checked[i].checked)
{
//rete=checked[i].parentNode.parentNode;//works fail
//rete=checked[i].closest("tr");//works fail
//rete=checked[i].parent().prev();//works fail
rete = checked[i].parent().prev();//works fail
var stNum=rete.find("td:eq(2)").text();
names.push(stNum);
}
}
for(i=0;i<names.length;i++)
{
alert(names[i]);
}
}
}
函数selAtt()
{
var xzyId=document.getElementById(“assTB”);//tableID
var checked=xzyId.getElementsByTagName(“输入”);//复选框
变量名称=[];
对于(i=1;i
使用map()添加到数组中
使用:选中以仅选中复选框
使用:第n个子索引获取所需的td(:第n个子索引以1开头)
$(“#按钮”)。单击(函数(){
var arr=$(':checkbox:checked').map(函数(){
var tr=$(this.nexist('tr');
var obj={};
obj['id']=tr.find('td:nth child(2)').text();
obj['name']=tr.find('td:nth child(3)').text();
返回obj;
}).get();
控制台日志(arr)
})
身份证件
名称
1.
汤姆
2.
约翰