数据表未发布所有选定项目

时间:2015-01-14 04:58:32

标签: javascript php jquery datatables

enter image description here

当我尝试从1页发布选定的值时没有问题,我有datatable checkboxes

但是当我从第1页检查一些checkboxes而在第2页检查很少时,它只发布当前页面的值(我当前正在查看的页面)

在发布我用jquery检查过的值之前,它正在计算所选行的正确数量。

 $(document).ready(function() {
        var table = $('#example').DataTable();

        $('#example tbody').on( 'click', 'tr', function () {
          $(this).toggleClass('selected');
        } );

        $('#button').click( function () {
          alert( table.rows('.selected').data().length +' row(s) selected' );
          alert($(".messageCheckbox").is(":checked").val())
        } );
      } );

从数据库填充数据表

<td><input type="checkbox"  name ="multi[]" value="<?php echo $row['work_id']; ?>"></td>

enter image description here

PHP

$aDoor = $_POST['multi'];

  if(empty($aDoor)) 
  {
    echo("You didn't select any Image.");
  } 
  else
  {
    $N = count($aDoor);

   for($i=0; $i < $N; $i++) {
 // do stuff
} }

3 个答案:

答案 0 :(得分:1)

$(function(){
      $('#button').click(function(){
        var val = [];
        $(':checkbox:checked').each(function(i){
          val[i] = $(this).val();
        });
alert(val.length);
      });
    });

答案 1 :(得分:0)

试试这个

$(document).ready(function() {
    var table = $('#example').DataTable();

    $('#example tbody').on( 'click', 'tr', function () {
        $($(this),table.fnGetNodes()).toggleClass('selected');
        //$(this).toggleClass('selected');
    });

    $('#button').click(function(){
        alert( table.rows('.selected').data().length +' row(s) selected' );
        alert($(".messageCheckbox").is(":checked").val())
    });
});

此处table.fnGetNodes()将返回表中的所有节点。

<强>更新

试试这段代码

$(document).ready(function() {
    var table = $('#example').DataTable();

    $('#example tbody').on( 'click', 'input[type="checkbox"]', function () {
        $('input[type="checkbox"][value="'+$(this).val()+'"]',table.fnGetNodes()).prop('checked',true);
    });

    $('#button').click(function(){
        alert( $('input[type="checkbox"]:checked',table.fnGetNodes()).length +' row(s) selected' );
        alert($(".messageCheckbox").is(":checked").val())
    });
});

答案 2 :(得分:0)

 $(function(){
  $('#button').click(function(){

    $(':checkbox:checked').each(function(i){
      alert($(this).val());
    });
  });
});

试试这个它会起作用。