我尝试通过单击CheckBoxColumn中的上部复选框来选择表中的所有行,并使用以下定义:
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
但是没有选择行,还有什么我需要做的吗?我使用的是django 1.4.1和django_tables2 0.13.0。
答案 0 :(得分:13)
可以通过替换标题单元格中的input属性来选中CheckBoxColumn中的所有复选框:
selection = tables.CheckBoxColumn(accessor="pk", attrs = { "th__input":
{"onclick": "toggle(this)"}},
orderable=False)
然后模板文件中的这个JavaScript构造应该do the work。
<script language="JavaScript">
function toggle(source) {
checkboxes = document.getElementsByName('selection');
for(var i in checkboxes)
checkboxes[i].checked = source.checked;
}
</script>
答案 1 :(得分:3)
不幸的是CheckBoxColumn
非常简陋。标题复选框不会执行任何操作,您可以编写JavaScript以使其正常工作。有计划让这更加无缝,但不是很快就会发生。