我试图通过单击具有以下定义的 CheckBoxColumn 中的上部复选框来选择表中的所有行:
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
但是没有选择行,还有什么我需要做的吗?我正在使用 django 1.4.1 和 django_tables2 0.13.0。
我试图通过单击具有以下定义的 CheckBoxColumn 中的上部复选框来选择表中的所有行:
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
但是没有选择行,还有什么我需要做的吗?我正在使用 django 1.4.1 和 django_tables2 0.13.0。
可以通过替换标题单元格中的输入属性来选择 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>
不幸CheckBoxColumn
的是非常简单。标题复选框不做任何事情,由您编写 JavaScript 以使其工作。有计划使这更加无缝,但不会很快发生。