Jquery 基于其他值更改行中的单元格值
下表有两列,每个列有两个输入:Jquery 基于其他值更改行中的单元格值,jquery,html,html-table,Jquery,Html,Html Table,下表有两列,每个列有两个输入: <table id="ASD" style="border:1px black solid"> <thead> <th>Columna 1</th> <th>Columna 2</th> </thead> <tbody> <tr name="1" style="border:1px black solid"> <td style="bor
<table id="ASD" style="border:1px black solid">
<thead>
<th>Columna 1</th>
<th>Columna 2</th>
</thead>
<tbody>
<tr name="1" style="border:1px black solid">
<td style="border:1px black solid" ><label>Sí</label><input type="radio" class="c1s" name="1_1">
<label>No</label> <input type="radio" class="c1n" name="1_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="1_1">
<label>No</label> <input type="radio" class="c1n" name="1_1_2"></td>
</tr>
<tr name="2" style="border:1px black solid">
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="2_1">
<label>No</label> <input type="radio" class="c1n" name="2_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="2_2">
<label>No</label> <input type="radio" class="c1n" name="2_2"></td>
</tr>
<tr name="3">
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="3_1"><label>No</label> <input type="radio" class="c1n" name="3_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="3_2"><label>No</label> <input type="radio" class="c1n" name="3_2"></td>
</tr>
</tbody>
</table>
小提琴:
有人可以帮忙吗?您可以通过以下方法获得最接近的tr属性:
$(this).closest('tr').next().attr('name')
不能对选择器使用特定id。必须使用“this”才能使调用成为相对调用。然后通过next()调用获取下一个同级。不过,最好在使用它之前进行空检查。只需找到所单击单元格的索引,然后修改它们以移动到另一列
window.onload = function () {
$(".c1s").click(function () {
var colIndex = $(this).parent().index()
var rowIndex = $(this).parent().parent().index()
var table = document.getElementById("ASD")
var cell= table.rows[rowIndex+1].cells[colIndex+1]
cell.children[1].checked=true
})
}
试试这个
<table id="ASD" style="border:1px black solid">
<thead>
<th>Columna 1</th>
<th>Columna 2</th>
</thead>
<tbody>
<tr name="1" style="border:1px black solid">
<td style="border:1px black solid" ><label>Sí</label><input type="radio" class="c1s" name="1_1">
<label>No</label> <input type="radio" class="c1n" name="1_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="1_2">
<label>No</label> <input type="radio" class="c1n" name="1_2"></td>
</tr>
<tr name="2" style="border:1px black solid">
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="2_1">
<label>No</label> <input type="radio" class="c1n" name="2_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="2_2">
<label>No</label> <input type="radio" class="c1n" name="2_2"></td>
</tr>
<tr name="3">
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="3_1"><label>No</label> <input type="radio" class="c1n" name="3_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="3_2"><label>No</label> <input type="radio" class="c1n" name="3_2"></td>
</tr>
</tbody>
</table>
JSIDLE链接用于相同的
检查这把小提琴并弹奏这句话
$(this).closest(“td”).find(.c1n”).attr('checked',true)代码>
如果你有更多的疑问
这应该可以解决您的一些问题。但是很难知道你所说的秒是什么意思。您好,这将适用于所有的行,但是如果我在同一行中有一些列,我不希望它改变怎么办?按预期工作!谢谢你,奥斯卡!
<table id="ASD" style="border:1px black solid">
<thead>
<th>Columna 1</th>
<th>Columna 2</th>
</thead>
<tbody>
<tr name="1" style="border:1px black solid">
<td style="border:1px black solid" ><label>Sí</label><input type="radio" class="c1s" name="1_1">
<label>No</label> <input type="radio" class="c1n" name="1_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="1_2">
<label>No</label> <input type="radio" class="c1n" name="1_2"></td>
</tr>
<tr name="2" style="border:1px black solid">
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="2_1">
<label>No</label> <input type="radio" class="c1n" name="2_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="2_2">
<label>No</label> <input type="radio" class="c1n" name="2_2"></td>
</tr>
<tr name="3">
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="3_1"><label>No</label> <input type="radio" class="c1n" name="3_1"></td>
<td style="border:1px black solid"><label>Sí</label><input type="radio" class="c1s" name="3_2"><label>No</label> <input type="radio" class="c1n" name="3_2"></td>
</tr>
</tbody>
</table>
$(".c1s").click(function(){
var row = $(this).closest('tr');
$(row).find('.c1s').each(function(){
$(this).prop('checked',true);
});
});
$(".c1n").click(function(){
var row = $(this).closest('tr');
$(row).find('.c1n').each(function(){
$(this).prop('checked',true);
});
});