使用javascript& amp;批量选择每个表的复选框PHP

时间:2017-07-10 12:37:04

标签: javascript php bulk

我试图制作批量操作功能。

我想要的是什么:
- 在多个表中批量选择,但只有一个<form>
- 在每个表中选择一个选择框以选择该表中的所有项目

我的代码示例

<form method="post">
   <table class="list1">
     <tbody>
       <tr>
          <td class="bulkCheckbox nummer">
            <input type="checkbox" 
            name="checkProducts" onclick="checkAll('list1, this')" />
          </td>
       </tr>
       <tr>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2810" />
         </td>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2811" />
         </td>
       </tr>
     </tbody>
   </table>

   <table class="list2">
     <tbody>
       <tr>
          <td class="bulkCheckbox nummer">
            <input type="checkbox" 
            name="checkProducts" onclick="checkAll('list2, this')" />
          </td>
       </tr>
       <tr>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2812" />
         </td>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2813" />
         </td>
       </tr>
     </tbody>
   </table>
</form> 



<script>
function checkAll(table, bx) {

    var checkname = document.table.getElementsByClassName("bulkCheckbox");

    for (i = checkname.length; i--; ) {
        checkname[i].checked = bx.checked;
    }
}
</script>

现在我的php部分工作了,所以当我选择多个选择框时,$ _POST返回我的值 Javascript部分也适合我,所以选择每个表的所有复选框 但Javascript和PHP一起为我工作..

如何解决这个问题让JS和PHP协同工作? 我尝试了多个脚本,但没有一个适合我。

我从JS得到的错误:

Uncaught TypeError: Cannot read property 'getElementsByName' of undefined

我尝试什么,什么都行不通..

1 个答案:

答案 0 :(得分:0)

尝试以下代码

&#13;
&#13;
 
function checkAll(table, bx) {

    var checkname = document.getElementsByClassName("bulkCheckbox");

    for (i = checkname.length; i--; ) {
		console.log(checkname[i]);
		console.log(bx);
        checkname[i].checked = bx.checked;
    }
}
 
&#13;
<form method="post">
   <table class="list1">
     <tbody>
       <tr>
          <td class="bulkCheckbox nummer">
            <input type="checkbox" 
            name="checkProducts" onclick="checkAll('list1', this)" />
          </td>
       </tr>
       <tr>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2810" />
         </td>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2811" />
         </td>
       </tr>
     </tbody>
   </table>

   <table class="list2">
     <tbody>
       <tr>
          <td class="bulkCheckbox nummer">
            <input type="checkbox" 
            name="checkProducts" onclick="checkAll('list2', this)" />
          </td>
       </tr>
       <tr>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2812" />
         </td>
         <td>
           <input class="bulkCheckbox" type="checkbox" 
           name="bulkCheckProduct[]" value="2813" />
         </td>
       </tr>
     </tbody>
   </table>
</form> 
&#13;
&#13;
&#13;

&#39;这&#39;您在checkAll()中传递的参数将作为字符串传递。