1

我有网格行方案,如:

<tr>
    <td>110</td>
    <td><input class="client-chb" name="checkedRecords" type="checkbox" value="110" title="checkedRecords"></td>
    <td>Some name</td>
    <td>Some other name</td>
    <td>1.1.2012</td>
</tr>

我有一个功能,我可以获取所有选中的复选框,获取它们的值并通过 ajax 发送到服务器。

但是我想在发布那个 ajax 帖子之前获得 3 和 4<td>并更改文本样式,例如:

<td><b>Some name</b></td>

我需要这个,反之亦然。或者更清楚地说,这是“标记为已读”和“标记为未读”的消息收件箱。

function MarkAsUnread() {
    var idata = new Array();
    $(".client-chb:checked").each(function() {
        var test = $(this);
        // maybe here, test -> find next td -> change text
        idata.push($(this).val());
    });
    //other logic
}
4

2 回答 2

2

您可以尝试以下方法:

function MarkAsUnread() {
    var idata = new Array();
    $(".client-chb:checked").each(function() {
        $(this).closest('tr').find('td').slice(2, 4).wrapInner('<b/>')
        idata.push($(this).val());
    });
}
于 2012-07-28T15:21:03.140 回答
0

您已经迭代了包含在 TD 中的输入元素,因此首先您要设置输入元素的父元素(复选框)并执行下一个..

喜欢,

function MarkAsUnread() {
    var idata = new Array();
    $(".client-chb:checked").each(function() {
        var test = $(this).parent();
        var next1 = test.next();
        var next2 = test.next().next();
        idata.push(next1.val());
        idata.push(next2.val());
    });
    //other logic
}

要获取或设置下一个和下一个 TD 的内容,请使用 next1.val() 和 next2.val()

于 2012-07-28T15:19:25.547 回答