获取以前的td元素来操作Ajax调用

时间:2013-05-29 16:18:33

标签: ajax jquery-ui jquery

如何在表中抓取前一个td元素以便在Ajax调用中更改它的text值?

这是我到目前为止所拥有的。我认为我正在抓取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链接时,我希望能够将上一个元素的文本从Waiting更改为{{1} }。

Hold

2 个答案:

答案 0 :(得分:0)

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

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

您也可以使用:

console.log(myString);

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

希望有所帮助

答案 1 :(得分:0)

尝试像这样td

var td = $(this).closest('td');