【问题标题】:select all checkbox pagination help required选择所有需要的复选框分页帮助
【发布时间】:2009-07-14 07:07:42
【问题描述】:

我目前有一个分页报告,每页显示 10 条记录。

在此报告中,我还为每条记录提供了一个复选框列。基于此,

我想合并一个“检查所有”功能,所以根据我显示 10 条记录的场景,当我按下“检查所有”复选框时,我想检查所有可见记录(一次 10 条)该页面 (pageno=3) 并在删除这 10 条记录后,该页面应重定向到具有相同页码 (pageno=3) 的同一页面 (filename.php)。

www.example.com/filename.php?pageno=3

【问题讨论】:

  • 什么语言/框架? java/.net/php?此外,标签用于定义工具/框架/语言等

标签: checkbox pagination


【解决方案1】:

使用像 jQuery 这样的框架会让你的生活变得更轻松。假设以下是您的记录结构:

<table id="report">
    <tr><td> <input type="checkbox" id="tr1" /></td><td>..</td><td>...</td></tr>
    <tr><td> <input type="checkbox" id="tr2" /></td><td>..</td><td>...</td></tr>
    <tr><td> <input type="checkbox" id="tr3" /></td><td>..</td><td>...</td></tr>
    <tr><td> <input type="checkbox" id="tr4" /></td><td>..</td><td>...</td></tr>
    <tr><td> <input type="checkbox" id="tr5" /></td><td>..</td><td>...</td></tr>
</table>

<input type="checkbox" id="chkAll"/> Select All.

下面的代码(使用 jquery)可以满足需要:

<script type="text/javascript">
    $(document).ready(function(){
        $("#chkAll").change(function(){
            if($("#chkAll").is(":checked")){
                $("#report tr td:first-child").find("input:checkbox")
                        .attr("checked","checked");
            }else{
                $("#report tr td:first-child").find("input:checkbox")
                       .attr("checked","");
            }
        });
    });
</script>

编辑:- 根据您的代码,尝试用此代码替换您的 boxes_checkall 函数;

函数 box_checkall(a,b) { var cbs=a.getElementsByTagName('input');

        for(var i=0;i<cbs.length;i++)
        {
           if(cbs[i].type.toLowerCase()=='checkbox')
           {
               cbs[i].checked = b==1;
           }
        }
   }
</script>

【讨论】:

  • 我的代码 $lastpage) { $pageno = $lastpage; } if ($pageno
  • $selQuery = "SELECT * FROM 广告系列 WHERE user_id='$user_id' and delete_flag=0 $limit"; ?> PREV"; } echo "( 页 $pageno of $lastpage )"; if ($pageno == $lastpage) { echo "NEXT"; } 其他 { $nextpage = $pageno+1; echo " NEXT "; } ?>
  •    
  • 我的代码和分页效果很好。但检查所有不工作...如果我删除分页代码,然后检查所有工作。我不明白我哪里出错了......好吧,谢谢你的建议......
【解决方案2】:

这可以使用 Javascript 来解决。 如何定义复选框的名称?

您可以执行一个 for 循环来更改当前显示的所有复选框的状态。

如果您使用 jQuery 之类的 javascript 工具包/框架,这非常容易。 例如,您可以将 .page-[NUM] 类赋予页面上的所有复选框,然后使用:

$(".page-[NUM]").each(function()
{
this.checked = checked_status;
}); 

或者,如果您为页面上的每个复选框使用相同的名称,请尝试:

$("input[@name=thename]").each(function()
{
this.checked = checked_status;
}); 

其中“thename”将是您在该页面上的复选框的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多