如何在检查下一个兄弟td的复选框时将表格单元格设置为一个值

时间:2013-05-13 03:49:29

标签: jquery

这是我的代码:

 ...
    <td class="paymentStatus">@Model.paymentStatus</td>
    <td><input type="checkbox" class="checkbox"/></td>
 </tr>

我想要做的是,当选中复选框时,将paymentStatus td文本设置为“付款已检查”

我试过了:

$(".checkbox").change(function () {
    if ($(this).is(":checked")) {

        $(this).closest('.paymentStatus').text("Payment Checked");
    }
});

不起作用。任何人都知道为什么以及如何解决?

2 个答案:

答案 0 :(得分:2)

您需要使用closest转到其父td,然后转到sibling(td.paymentStatus)设置文字。

Demo

$(".checkbox").change(function () {
    if ($(this).is(":checked")) {
          $(this).closest('td')
          .siblings('td.paymentStatus')
          .text("Payment Checked");
    }
});

答案 1 :(得分:1)

你必须向上移动一级,然后选择上一个兄弟:

$(this)
    .parent()
    .prev('.paymentStatus')
    .text('Payment checked');