我在PHP中有一个网页,显示表格中的所有记录。我想为所有行添加复选框,用户可以勾选复选框以检查每个生成的行中的复选框。
我该怎么做?
答案 0 :(得分:1)
您必须使用javascript。添加:
<script type="text/javascript">
var check=document.getElementById("The id of the checkbox"),
table=document.getElementById("The id of the table");
check.onclick=function(){
var ck=table.getElementsByTagName("input");
for(i=0;i<ck.length;i++) if(ck[i].type=="checkbox") ck[i].checked=true;
}
</script>
答案 1 :(得分:0)
我过去使用的一种方法是定义复选框ID并使用它。
这是我写的一个适合我的样本......
<?php
$num_chkboxes = 3;
?>
<html>
<head>
<script type="text/javascript">
function chk_all()
{
for (i = 1; i <= <?php echo $num_chkboxes; ?>; i++)
{
document.getElementById('chk'+i).checked = true;
}
}
</script>
</head>
<body>
check all <input type="checkbox" name="chkall" id="chkall" onclick="chk_all();" /><br /><br />
<table>
<tr>
<td>
chk1<input type="checkbox" name="chk1" id="chk1" />
</td>
</tr>
<tr>
<td>
chk2<input type="checkbox" name="chk2" id="chk2" />
</td>
</tr>
<tr>
<td>
chk3<input type="checkbox" name="chk3" id="chk3" />
</td>
</tr>
</table>
</body>
</html>
从那时起,添加一点逻辑来检查/取消选中所有框就会非常简单......
答案 2 :(得分:0)
我无法使用此代码...
我的代码是这样的..
<table id="top" width=100% border="1" bordercolor="#000000" cellpadding="0" cellspacing="0" style="border-style:solid; border-width:0.5px;">
<form id="myForm" name="myForm" action="" method="post">
<tr style="background-color:#C0C0C0;">
<td width="155" align="center"><b>Product Group</b></td>
<td width="318" align="center"><b>Group Name</b></td>
<td width="310" align="center"><b>PIC</b></td>
<td align="center" colspan="2"> </td>
<td width="21" bordercolor="#000000" style="border-style:solid; border-width:1px;">
<input type="button" onclick="SetAllCheckBoxes('myForm', 'myCheckbox', true);" value="I like them all!">
<input type="checkbox" id="checkall" name="ca_v1_on" value="Check All myCB" onclick="checkAll(1);"/>
<input type="checkbox" name="ca_v1_off" value="Uncheck All myCB" onclick="checkAll(0);"/>
<!-- ?php echo $form->checkbox('done'); ? -->
</td>
</tr>
echo $ form-&gt; end();
foreach($ prodGroupData as $ arr)
{
?&GT;
link('Edit',array('controller'=&gt;'productMasters','action'=&gt;'editGroup','?'=&gt; array('prodGroupNo'=&gt; $ arr ['ProductGroup'] [ 'PROD_GROUP_NO']))); ?&GT;
link('Delete',array('controller'=&gt;'productMasters','action'=&gt;'deleteGroup','?'=&gt; array('prodGroupNo'=&gt; $ arr ['ProductGroup'] [ 'PROD_GROUP_NO']))); ?&GT;
<input type="checkbox" name="myCheckbox" value="2" id="myCheckbox2">
</td>
</tr>
页面[&lt;&lt; ] [&lt; ] [&gt; ] [&gt;&gt; ] link('删除所选项目',数组('controller'=&gt;'productMasters','action'=&gt;'deleteGroup','?'=&gt;数组('prodGroupNo'=&gt; $ arr ['ProductGroup' ] [ 'PROD_GROUP_NO']))); ?&GT;
答案 3 :(得分:0)
这是一个更清洁的版本:
create('ProductGroup',array('url'=&gt; array('controller'=&gt;'productMasters','action'=&gt;'addGroup'))); ?&GT; td.in a,td.in a:visited { 颜色:#0000FF; }我使用的javascript是
功能CheckAll(标志) { 警报(的document.getElementById( '检查')的长度。); if(document.ProductGroupAddForm.check.length) { for(var x = 0; x位于不同的文件(布局文件)
...
整个代码是乱七八糟的混合php,html和cakephp 它真的让我失望,但我不想放弃......