1

在 django admin 内联表单中,有用于删除单个内联对象的复选框。有没有办法一次选择所有这些进行删除?

4

2 回答 2

2

这是我制定的解决方案:

在模板/admin/edit_inline/tabular.html

{% if inline_admin_formset.formset.can_delete %}<th>{% trans "Delete?" %}&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" class="selectall_checkbox"/></th>{% endif %}

<script type="text/javascript">
$('.selectall_checkbox').click(function(e) {
    $(e.target).closest('table').find(':checkbox').filter(function () { return /DELETE/.test(this.name); }).each(function () {    
      this.checked = e.target.checked;
    });
});
</script>
于 2013-05-14T19:11:50.237 回答
0

这是一个类似的解决方案,但复选框在 admin/base_site.html 模板的页脚块中插入 jQuery:

{% extends "admin/base.html" %}
...

{% block footer %}
<script type="text/javascript">
var $ = django.jQuery;
$(document).ready(function() {
    $('.tabular table th:contains({% trans "Delete?" %})').each(function(index) {
        var text = $(this).text();
        $(this).html('<input type="checkbox" class="selectall_checkbox">&nbsp; ' + text);
    });
    $('.selectall_checkbox').click(function(e) {
        $(e.target).closest('table').find(':checkbox').filter(function () { return /DELETE/.test(this.name); }).each(function () {    
          this.checked = e.target.checked;
        });
    });
});
</script>
{% endblock footer %}
于 2014-02-12T12:34:45.090 回答