生成的行中的复选框

时间:2009-08-26 07:24:00

标签: javascript html

我在PHP中有一个网页,显示表格中的所有记录。我想为所有行添加复选框,用户可以勾选复选框以检查每个生成的行中的复选框。

我该怎么做?

4 个答案:

答案 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">&nbsp;</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;   }
                               提交( '搜索',阵列( '控制器'=&GT; 'productMasters', '动作'=&GT; 'searchGroup')); ?&GT;                       提交( '添加',阵列( '控制器'=&GT; 'productMasters', '动作'=&GT; 'ADDGROUP')); ?&GT;                                                         产品组           组名            PIC 的                                               checkbox('checkAll',array('onClick'=&gt;'CheckAll(1)')); ?&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;                                    复选框( '检查'); ? - &GT;                                                                  Pages [] [&gt;&gt; ]                                   link('删除所选项目',数组('controller'=&gt;'productMasters','action'=&gt;'deleteGroup','?'=&gt;数组('prodGroupNo'=&gt; $ arr ['ProductGroup' ] [ 'PROD_GROUP_NO']))); ?&GT;                                  
结束(); ?&GT;

我使用的javascript是

  功能CheckAll(标志)   {     警报(的document.getElementById( '检查')的长度。);     if(document.ProductGroupAddForm.check.length)     {         for(var x = 0; x

位于不同的文件(布局文件)

...

整个代码是乱七八糟的混合php,html和cakephp 它真的让我失望,但我不想放弃......