我目前有一个分页报告,每页显示10条记录。
在此报告中,我还为每条记录都有一个复选框列。基于此,
我希望合并“全部检查”功能,因此根据我的情况显示10条记录,当我按下“全部检查”复选框时,我想检查所有可见记录(一次10条)该页面(pageno = 3),删除这10条记录后,页面应重定向到同一页面(filename.php),页面编号相同(pageno = 3)。
www.example.com/filename.php?pageno=3
答案 0 :(得分: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 函数;
function boxes_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>
答案 1 :(得分:0)
这可以使用Javascript解决。 如何定义复选框的名称?
您可以执行for循环来更改此时显示的所有复选框的状态。
如果你正在使用像jQuery这样的javascript工具包/框架,这很容易。 例如,您可以将类.page- [NUM]提供给页面上的所有复选框,然后使用:
$(".page-[NUM]").each(function()
{
this.checked = checked_status;
});
或者如果您对页面上的每个复选框使用相同的名称,请尝试:
$("input[@name=thename]").each(function()
{
this.checked = checked_status;
});
其中“thename”将是该页面上复选框的名称。