Checkbox 在SQLFORM.grid表格标题中添加全选复选框

Checkbox 在SQLFORM.grid表格标题中添加全选复选框,checkbox,web2py,selectall,Checkbox,Web2py,Selectall,我在Massimo Di Pierro发布的google群组中找到了代码: <button onclick="jQuery('input[type=checkbox]').each(function(k){jQuery(this).attr('checked', 'checked');});">select all</button> 全选 我创建这个问题是因为基于我在这里发布的上一个问题,如果我从学生主列表中检索到一条达到500+或1000+的记录,并且我创建的表没有

我在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答案与解决方案结合起来,效果很好:

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

您需要一个复选框,当单击它时,它将标记网格的所有复选框。对吗?你能详细说明你的问题吗?谢谢你的回复。。。我稍后会试试。。。同样感谢Gaura Vichare的回复,我认为Remco解决了我的问题……您粘贴的代码有一些错误,但这个想法是可行的。我在这个问题上使用了js代码,但是这里的想法和它做了需要的事情