7

我试图通过单击具有以下定义的 CheckBoxColumn 中的上部复选框来选择表中的所有行:

selection = tables.CheckBoxColumn(accessor="pk", orderable=False)

但是没有选择行,还有什么我需要做的吗?我正在使用 django 1.4.1 和 django_tables2 0.13.0。

4

2 回答 2

19

可以通过替换标题单元格中的输入属性来选择 CheckBoxColumn 中的所有复选框:

selection = tables.CheckBoxColumn(accessor="pk", attrs = { "th__input": 
                                        {"onclick": "toggle(this)"}},
                                        orderable=False)

然后模板文件中的这个 JavaScript 构造应该可以完成这项工作

<script language="JavaScript">
function toggle(source) {
    checkboxes = document.getElementsByName('selection');
    for(var i in checkboxes)
        checkboxes[i].checked = source.checked;
}
</script>
于 2012-10-24T16:32:31.130 回答
3

不幸CheckBoxColumn的是非常简单。标题复选框不做任何事情,由您编写 JavaScript 以使其工作。有计划使这更加无缝,但不会很快发生。

于 2012-10-17T22:54:20.117 回答