希望有人可以提供建议.单击链接后尝试删除行时出现问题.
<table> <tr><td>Some Data</td><td><a href="#" class="remove-row>Remove Row</a></td></tr> <tr><td>Some Data</td><td><a href="#" class="remove-row">Remove Row</a></td></tr> </table>
现在是JS
$("a.remove-row").live('click',function(eve){ eve.preventDefault(); $.ajax({ type: 'GET',url: '/someaction/',dataType: 'json',success: function(msg){ if(msg.error){ alert(msg.error); }else{ $(this).closest('tr').remove(); alert(msg.success); } } }) });
这应该是非常简单的,但不是删除行.只是为了踢,如果我把它改成类似的东西
$('.remove-row').addClass('foo');
它会将foo添加到所有表行.所以可以理解为什么它不删除最近的行.
有任何想法吗 ?
先谢谢了.
解决方法
问题是这当前是指成功回调中的ajax对象,但这是一个简单的修复,使用如下内容选项:
$("a.remove-row").live('click',function(eve){ eve.preventDefault(); $.ajax({ context: this,//add this here! type: 'GET',success: function(msg){ if(msg.error){ alert(msg.error); }else{ $(this).closest('tr').remove(); alert(msg.success); } } }) });