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);
     });
});