我在jQuery中使用按钮值来擦除行。按钮值是rowID。成功之后,我需要一种方法来调用$(this).closest('tr').hide()
来删除该行。
无论如何要做到这一点而不用每个<tr>
标记特定的行ID?
好的,这是一些代码:
var rowID = $( this ).attr('value');
var data = {
'action': 'my_delete_row_action',
'id': rowID
}
$(this)
是一个<button>
元素,value
设置为$row[id]
。
删除行后,我需要一种方法:
$(this).closest('tr').hide()
- 使用当前有效按钮,抓取父<tr>
并将其从表中删除。
答案 0 :(得分:1)
我假设您使用ajax删除服务器端的实体,并且您希望在成功时删除客户端上的特定行:
$("table").on("click", "button.delete", function(){
var $button = $(this), //save reference to the button clicked
rowId= = $button.attr("value"),
data = {"id": rowId, ...};
$.ajax(...).done(function(){
$button.closest("tr").hide(); //or remove or whatever.
});
});
答案 1 :(得分:0)
另一种方法是将按钮(或其他任何东西)绑定为上下文:
$.ajax({
// All the other AJAX options
context: $(this), // Magic key to bind the async callback into the original context
success: function() {
// Now $(this) is your button
}
});