【发布时间】:2013-02-23 02:27:59
【问题描述】:
我有一个使用 AJAX 删除的项目列表。
这个列表是一个简单的列表,其中包含 div,每个 div 作为 id,所以当从数据库中删除项目时,我返回 true,然后删除该行。
这是我的代码:
HTML
<div id="row1">
<div>item1</div>
<div><a href="...">view</a></div>
<div><a id="1">delete</a></div>
</div>
JS
$('.delete').click(function () {
if (!confirm('Are you sure you want to delete?')) {
return false;
}
$.ajax({
type: "POST",
url: '/delete_record',
data: 'id=' + this.id,
cache: false,
success: function (result) {
if (result == 'good') {
$('#row' + this.id).remove();
}
}
});
});
由于某种原因,this.id 不起作用,因为 this.id 未定义......为什么?我的href上有id="1"。
【问题讨论】:
-
没有具有
.delete类的元素,如果有,您需要在点击处理程序中保存对this的引用,并在成功处理程序中引用它。