2017-07-10 6 views
0

一括処理機能を作成しようとしています。javascriptとPHPを使用してテーブルごとにチェックボックスを一括して選択

私が欲しいもの:
- 複数のテーブルではバルクの選択が、1 <form>
- すべてのテーブル1つの選択ボックスでは、そのテーブル内のすべての項目を選択するには、私のコード

<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 

私は何をしようと、何も動作に..

答えて

0

は、以下のコード


 
function checkAll(table, bx) { 
 

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

 
    for (i = checkname.length; i--;) { 
 
\t \t console.log(checkname[i]); 
 
\t \t console.log(bx); 
 
     checkname[i].checked = bx.checked; 
 
    } 
 
} 
 
<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>

'これ' を試してみてくださいcheckAll()で渡すパラメータは、次のように渡されます。文字列。

+0

あなたの返信ありがとう、これは私のために働いたが、一つのこと。これで、変数 'table'がもう使われなくなったので、すべてのチェックボックスをチェックします。この変数は、テーブルを互いに分離するためのものです。しかし、私は、この変数をコンボで 'getElementsByClassname' – Dennis

関連する問題