【问题标题】:Adding a select all checkbox in the SQLFORM.grid table header在 SQLFORM.grid 表头中添加全选复选框
【发布时间】:2016-01-10 21:30:03
【问题描述】:

我在 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


【解决方案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'));});")))

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

【讨论】:

  • 您粘贴的代码有一些错误,但想法有效。我在问题上使用了 js 代码,但这里的想法和它做了需要的事情
【解决方案2】:

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

【讨论】:

  • 感谢 Remco 的回复...我稍后再试...也感谢 Gaura Vichare 的回复我认为 Remco 解决了我的问题...
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-21
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多