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

问题描述 投票:1回答:3

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

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

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

checkbox web2py selectall
3个回答
1
投票

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'));});")))

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


0
投票

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


0
投票

我将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);"
    )))
© www.soinside.com 2019 - 2024. All rights reserved.