在SQLFORM.grid表头中添加select all复选框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQLFORM.grid表头中添加select all复选框相关的知识,希望对你有一定的参考价值。

我发现了Massimo Di Pierro发布的google群组中的代码:

<button onclick="jQuery('input[type=checkbox]').each(function(k){jQuery(this).attr('checked', 'checked');});">select all</button>

我创建这个问题是因为基于我在此发布的上一个问题,如果我从学生主列表中检索到达到500+或1000+的记录并且我创建的表没有全部选择按钮怎么办?很难点击并点击并点击等等......有谁知道我会把那些代码放在哪里?因此,如果表上有一个全选复选框,则可以轻松检索记录。

答案

form = SQLFORM.smartgrid(..,selectable= lambda ids: your_function_name_to_trigger(ids),...),

将此添加到您的控制器功能:

if form.elements('th'):
    form.elements('th')[0].append(SPAN('All', BR(), INPUT(_type='checkbox',
        _onclick="jQuery('input[type=checkbox]').each(function(k{jQuery(this)
            .attr('checked', 'checked'));});")))

这将在单击全部按钮时“检查”表单中的所有复选框。

另一答案

将上面的代码放在视图中您希望按钮可见的任何位置。它将在页面上找到所有复选框。

另一答案

我将Serge回答与Jquery Checkbox check all解决方案结合起来,效果很好:

if form.elements('th'):
    form.elements('th')[0].append(SPAN('All', BR(), INPUT(_type='checkbox',
    _onclick="jQuery('input:checkbox').not(this).prop('checked', this.checked);"
    )))

以上是关于在SQLFORM.grid表头中添加select all复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何在element UI lt;el-table>表头中添加 select选择器或其他组件?

el-table增加多选框并在表头增加全选字样

winform中datagridview怎么把表头分为两列

word表头斜杠怎么添加文字(word表格里表头的斜杠怎么设计?)

iView中表格(Table)自定义表头添加模糊搜索框

如何在QTableWidget表头添加复选框