在SQLFORM中添加一个select all复选框.网格表头



我在Massimo Di Pierro发布的google groups中找到了代码:

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

我创建这个问题是因为基于我在这里发布的先前的问题,如果我从Student Master List中检索到一条达到500+或1000+的记录,并且我创建的表没有Select All按钮,该怎么办?很难点击,点击,点击等等。有人知道我要把代码放在哪里吗?因此,如果表上有一个select all复选框,那么检索记录就很容易了

With

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

这将在单击all按钮时"选中"表单中的所有复选框。

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

我将Serge的答案与Jquery的复选框一起检查所有的解决方案,并且效果很好:

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

最新更新