2017-10-04 12 views
0

データベースからデータが動的に入力されるテーブルがあります。各行の開始時にチェックボックスが表示されます。ユーザーがエクスポートボタンをクリックすると取得する必要があります。チェックされているすべての行、これは私のコードです!ボタンクリック時にチェックされた行をすべて取得する

Dyanamic表

<table id="example" class="export_table"> 
         <thead> 
         <tr> 
          <th id="not1">Check Box</th> 
          <th>Brand</th> 
          <th>Production Date</th> 
          <th>Expiry Date</th> 
          <th>Made In</th> 
          <th>Status</th> 
          <th>Batch Code</th> 
          <th>Created On</th> 
         </tr> 
         </thead> 
         <tbody> 

         $i=0; 
         foreach($results as $r){ 
          echo "<tr>"; 
          echo "<th id='not2'><input type='checkbox' name='checkedvalues' value='val_".$i."'/> </th>"; 
          echo "<td>".$r['brand']."</td>"; 
          echo "<td>".$r['production_date']."</td>"; 
          echo "<td>".$r['expiry_date']."</td>"; 
          echo "<td>".$r['madein']."</td>"; 
          echo "<td>".$r['status']."</td>"; 
          echo "<td id='main-print'>".$r['batch_code']."</td>"; 
          echo "<td>".$r['created_on']."</td>"; 
          echo "</tr>"; 
          $i++; 

         } 

         ?> 

         </tbody> 
        </table> 

jQueryの

$(document).ready(function() { 

     $("#export").click(function(){ 

      var selectedvalues = []; 

      $.each($("input[name='checkedvalues']:checked"), function(){ 

       selectedvalues.push($(this).val()); 

      }); 

      alert("Checked values are: " + selectedvalues.join(", ")); 

     }); 

    }); 

今私は私が欲しいものを欲しいいけないInfactは選択されたチェックボックスの値のみを取得していたはずの配列を生成することですチェックされた属性に基づいて作成されます。どのチェックボックスがチェックされているかをチェックして、すべての行がチェックされた配列を返します。

+0

使用 'selectedvalues.push($(この).closest( 'TR'));'あなただけプッシュしているので、 –

+0

あなただけの値を、完全な行を取得している得るために配列 'selectedvalues.push($(this).val());の値 ' –

+0

配列を印刷するにはどうすればいいですか?たとえ私がループを実行しても、非常に奇妙な形式のデータを返す "オブジェクト{0:、長さ:1、prevObject:オブジェクト、コンテキスト:} 0" –

答えて

1

オブジェクトの行データを各チェックボックスの「値」に格納することができます。 (あなたのforeachループの内側)以下のような 何か

foreach($results as $r){ 
     $obj = "{".$r['brand'].",".$r['production_date'].",".$r['expiry_date'].",".$r['madein'].",".$r['status'].",".$r['batch_code'].",".$r['created_on']."}"; 
     echo "<tr>"; 
     echo "<th id='not2'><input type='checkbox' name='checkedvalues' value='".$obj."'/> </th>"; 
     ... 
     ... 
} 

今、あなたのselectedvalues配列には、各チェックを行とJavaScriptのオブジェクトを持つことになります。

psの任意のPHPの構文エラーのため申し訳ありません

+0

どの行が選択され、 –

+0

同じjQueryロジックを使用すると、選択した行が表示されます。 "val_#"のチェックボックスの値を "{} –

+0

と非常に効率的で興味深いロジックに置き換えています。Azim bhai! –

関連する問題