使用jquery设置td的值
从每行中的复选框中,如果选中,我希望更新该行的表数据值。我试过:使用jquery设置td的值,jquery,html-table,Jquery,Html Table,从每行中的复选框中,如果选中,我希望更新该行的表数据值。我试过: $('#'+id).each(function(index, cell){ $('#data2').html("New Value"); }); 但它不起作用。我通过以下方式访问ID: if ($('.cbox1:checked').length) { var id = ''; $('.cbox
$('#'+id).each(function(index, cell){
$('#data2').html("New Value");
});
但它不起作用。我通过以下方式访问ID:
if ($('.cbox1:checked').length) {
var id = '';
$('.cbox1:checked').each(function () {
id = $(this).val();
});
}
我的Html是
<table class="mytable" id="tableid" >
<tr>
<th style="width: 10px;"> </th>
<th> DATA1</th>
<th>DATA2</th>
<th>DATA3 </th>
</tr>
<tr contenteditable="false" class="content193" id="193">
<td> <input class="cbox1" type="checkbox" value="193"></td>
<td id="data1">45</td>
<td id="data2">566</td>
<td id="data3"> 12.12.2016</td>
</tr>
<tr contenteditable="false" class="content194" id="194">
<td><input class="cbox1" type="checkbox" value="194"></td>
<td id="data1">456</td>
<td id="data2">6745</td>
<td id="data3"> 11.10.2016</td>
</tr>
<tr contenteditable="false" class="content199" id="199">
<td><input class="cbox1" type="checkbox" value="199"></td>
<td id="data1">tr</td>
<td id="data2">24</td>
<td id="data3"> 20.01.2015</td>
</tr>
<tr contenteditable="false" class="content201" id="201">
<td><input class="cbox1" type="checkbox" value="201"></td>
<td id="data1">tr</td>
<td id="data2">24</td>
<td id="data3"> 20.01.2015</td>
</tr>
</table>
数据1
数据2
数据3
45
566
12.12.2016
456
6745
11.10.2016
tr
24
20.01.2015
tr
24
20.01.2015
对每行重复的元素使用类而不是ID。然后让选择器在所选行中查找该类
$(“#doit”)。单击(函数(){
$('.cbox1:checked')。每个(函数(){
var id=$(this.val();
$('#'+id+'.data2').html(“新值”);
});
});代码>
数据1
数据2
数据3
45
566
12.12.2016
456
6745
11.10.2016
tr
24
20.01.2015
tr
24
20.01.2015
单击我
您根本不需要这些类或ID。您只需找到最靠近已更改元素的行,并直接访问它的td
s即可:
$('.cbox1').change(函数(){
var$row=$(this).closest('tr');//获取当前行
$row.find('td').eq(1).text('new value');//更改第一个单元格
$row.find('td').eq(2).text('new value');//更改第二个单元格
$row.find('td').eq(3).text('new value');//更改第三个单元格
}); 代码>
数据1
数据2
数据3
45
566
12.12.2016
456
6745
11.10.2016
19
24
20.01.2015
15
24
20.01.2015
$('#'+id)。每个…
每个…
都应该只有一个'#'+id
document@danronmoon:我不明白。请澄清。同一id属性的多个HTML无效。您需要更改重复的id以改用类。@温特布拉德:实际上,这些表是使用PHPchange从数据库生成的,将它们全部更改为类并使用遍历$('.cbox1')。更改(function()var$row=$(this.nestest('tr')})
然后从$row..$row.find('td').eq(2).文本('new value');})代码>