如何在表中抓取前一个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
答案 0 :(得分:0)
首先,parent()只获取第一个父级,如果调用者在dom中更深,则不会得到它。您应该使用parents(),但我建议使用类而不是标记名称,如下所示:
$(this).parents('td.myClass').prev();
您也可以使用:
console.log(myString);
而不是警报,你可以在控制台中看到结果,在firefox中使用chrome或firebug
希望有所帮助
答案 1 :(得分:0)
尝试像这样td
:
var td = $(this).closest('td');