点击时我有一个按钮运行一个函数,我希望前一个TD中的值从no变为yes。
HTML:
<tr class="odd">
<td class="">13.00</td>
<td class="">DDR</td>
<td class="">No</td>
<td class="">
<div class="button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" onclick="javascript:paid(4);return false" href="#" "="" role="button" aria-disabled="false">
<span class="ui-button-text">Paid</span>
</div>
</td>
</tr>
因此,当用户点击“付费”时,这称为.. Javascript:
function paid(iD) {
$.ajax({
contentType: "application/json; charset=utf-8",
type: "POST",
url: "Paid",
dataType: "json",
data: "{ id:" + iD +"}",
success: function (id) {
//Here change value of previous TD to yes;
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
};
有没有办法可以访问上一个td的html并更改它的值?
O并且还使按钮消失?
答案 0 :(得分:1)
这是一种可行的方法。但是在这些事情之后你需要注意改变你的html:
$("span.ui-button-text").click(function(){
var td = $(this).closest("td").prev();
//do ajax here
});
这将允许您存储正确的td
单元格,然后您可以在成功回调中引用它。例如:
td.html("Yes");
答案 1 :(得分:0)
HTML:
<td class="" id="paid">No</td>
使用Javascript:
document.getElementById("paid").innerHTML = "Yes";
答案 2 :(得分:0)
一种好方法是使用$ .ajax(..)的context属性来保存对您想要修改的前一个TD的引用。
例如:
$.ajax({
...
context: prevTD, // specify the previous TD as context
...
success: function (data) {
// 'this' refers to the passed in context
// so you can do
this.text('Yes');
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
要从您呼叫的地方获取上一个TD,您可以使用:
yourPaidButton.parents('TD').first().prev()