0

我将如何获取td表格中的前一个元素以更改其text在 Ajax 调用中的值?

这就是我到目前为止所拥有的。我想我正在td正确地抓取元素并将其放入变量中,但是我无法收到警报以弹出td我正在尝试更改的元素上的文本,而且我实际上无法像我正在尝试的那样更改文本去做。

    function ChangeStatus(id) {
        var td = $(this).parent('td').prev();
        $.ajax({
            type: 'GET',
            url: '@Url.Action("changeStatus","AgentTransmission")',
            data: { id: id },
            dataType: 'json',
            success: function (data) {
                td.empty();
                td.html("Hold");
            }
        });
    }

编辑

td这是我正在使用的两个元素。当用户单击Hold带有ChangeStatus() onclick事件的链接时,我希望能够将前一个元素的文本从 更改WaitingHold

<td>
Waiting
</td>
<td>
<a href="/AgentTransmission/Details/17">Details</a>           
    <span> | </span>
    <a href="javascript:void(0)" onclick="ChangeStatus(17)" >Hold</a> 
</td>
<td align=center id=17>
</td>
4

2 回答 2

0

尝试得到td这样的:

var td = $(this).closest('td');
于 2013-05-29T16:27:56.980 回答
0

首先, parent() 只获取第一个父级,如果调用者在 dom 中更深,你将不会得到它。您应该使用 parents(),但我建议使用类而不是标签名称,如下所示:

$(this).parents('td.myClass').prev();

您还可以使用:

console.log(myString);

而不是警报,您可以在控制台中看到结果,在 Firefox 中使用 chrome 或 firebug

希望能帮助到你

于 2013-05-29T16:26:45.307 回答