我是 jquery 和 ajax 新手,但我刚刚学会了如何使用 jquery ajax 发布表单并保存它,现在我的模板中的表中有一个记录列表,如下所示:
field1 field2 field3 <a href="#" id="rec1">del</a>
field1 field2 field3 <a href="#" id="rec2">del</a>
field1 field2 field3 <a href="#" id="rec2">del</a>
...
现在我想在点击 anchor 标记时删除一条记录。
编辑:
这些记录已经使用 ajax 插入到数据库中,并立即以这种格式显示在表格中,现在我将通过 ajax 单击其 anchor
来删除每条记录。
像这样:
field1 field2 field3 <a href="#" id="rec2" onClick="f({{id}})">del</a>
我该怎么做?
最佳答案
我会尝试
首先:您需要有一个 django View 来删除所选项目
第二个:在 url 文件中定义指向该 View 的模式,例如
(r'^delete/(\d{4})/$', 'delete_item'),
那么你的 javascript 应该是这样的:
function deleteAjax(item_id){
$.ajax({
url: "delete/"+ item_id +"/",
data: <the id of the record you want to delete>,
success: function(){
//here you do the processing needed to remove the row from the html;
}
});
}
你的 html 必须改变:
<a id="{{id}}" onclick="deleteAjax({{id}}); return false;"> delete item </a>
点击事件将触发 javascript (deleteAjax) 并通过向其发送要删除的项目的 id 来调用正确的 (django) View
有几点需要注意:
django View 必须处理正确的响应,因为它将确定在执行结束时将调用哪个回调(这是 ajax 部分“成功:函数...”,您也可能会失败:函数)
在成功函数中,您必须记住删除与删除项对应的表格行(如果删除成功),否则您必须通知(如果失败)
last:我现在不确定您在 ajax 函数中发送的“data”参数,因为已删除项目的 id 已绑定(bind)到 url。不过,您可以使用它来发送您最终需要的任何内容
关于django - 运行ajax在点击 anchor 时删除一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521436/