我的模板
<div class="row">
<div class="col-lg-9">
<table class="table table-bordered">
<thead>
<tr>
<th>Title</th>
<th>Publication date</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
{% for questionnaire in questionnaires %}
<tr>
<td>
<div class="checkbox">
<input type="checkbox" name="questionnaires" id="questionnaires" value="{{ questionnaire.id }}">
<label><b><a href="" >{{ questionnaire.name }}</a></b></label>
</div>
</td>
<td>{{ questionnaire.pub_date }}</td>
<td><a href="" class="btn btn-danger btn-xs">Delete</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="col-lg-3">
<div class="sidebar-nav-fixed pull-right">
<div class="well">
<ul class="nav ">
<li>
<a href="/admin/teacher/questionnaires/add/" class="btn btn-info btn-md">Add new</a>
</li>
<li>
<a href="#" class="btn btn-default btn-md" name="single">Export to PDF</a>
</li>
<li>
<a href="#" class="btn btn-default btn-md" name="single">Check results</a>
</li>
<li>
<a href="#" class="btn btn-default btn-md" name="single">Draw charts</a>
</li>
<li>
<a href="#" class="btn btn-default btn-md">Generate tokens</a>
</li>
<li>
<a href="#" class="btn btn-default btn-md">Clear results</a>
</li>
<li>
<a href="" class="btn btn-danger btn-md">Delete selected</a>
</li>
</ul>
</div>
</div>
</div>
我需要从表格中放置的复选框中获取所有选中的对象,并将它们传递给导航栏中的超链接。
例如,我有超链接“删除已选中”。我想删除通过点击该链接选择的每个问卷。可能吗?如果是,我该怎么做?
答案 0 :(得分:0)
为了实现,'我有超链接'删除已选中“。我想删除通过点击该链接选择的每个问卷。',它需要混合使用jQuery和Django。
您应该在“删除所选”按钮上附加一个点击监听器,该按钮应序列化所有选定的问卷并通过AJAX将该数据发送到Django视图,该视图将从数据库中删除必要的问卷对象。
这是一个粗略的例子......
<script type="text/javascript">
$(document).ready(function() {
$('.btn-danger').click(function() {
$.post('url/to/django/view', $('input[name=questionnaires]').serialize(), function(data, textStatus, jqXHR) {
// DO STUFF VIA THIS CALLBACK
});
});
});
</script>
def url/to/django/view(self, request):
if request.method == 'POST':
questionnaires_to_delete = request.POST.getlist('questionnaires')
Questionnaire.objects.filter(id__in=questionnaires_to_delete).delete()
return HttpResponse('WHATEVER YOU WANT TO RETURN TO THE CLIENT')
根据您的设置,您会遇到CSRF问题。以下是处理该文件的文件...... https://docs.djangoproject.com/en/1.7/ref/contrib/csrf/