<!DOCTYPE html>
<html>
  <head>
   <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
    <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
<link href="https://cdn.datatables.net/select/1.0.0/css/select.dataTables.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/select/1.0.0/js/dataTables.select.js"></script>
<link href="https://cdn.datatables.net/buttons/1.0.1/css/buttons.dataTables.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/buttons/1.0.1/js/dataTables.buttons.js"></script>
 
    <meta charset=utf-8 />
    <title>DataTables - JS Bin</title>
  </head>
  <body>
    <div class="container">
      <table id="example" class="display nowrap" width="100%">
        <thead>
          <tr>
            <th>ID</th>
            <th>A</th>
            <th>B</th>
            <th>C</th>
          </tr>
        </thead>
        <tbody>
<tr>
    <td>2</td>
    <td><input type="checkbox" name="A[]" class="A" value="2A" checked="checked"></td>
    <td><input type="checkbox" name="B[]" class="B" value="2B"></td>
    <td><input type="checkbox" name="C[]" class="C" value="2C"></td>
</tr>
<tr>
    <td>3</td>
    <td><input type="checkbox" name="A[]" class="A" value="3A"></td>
    <td><input type="checkbox" name="B[]" class="B" value="3B" checked="checked"></td>
    <td><input type="checkbox" name="C[]" class="C" value="3C"></td>
</tr>
<tr>
    <td>4</td>
    <td><input type="checkbox" name="A[]" class="A" value="4A" checked="checked"></td>
    <td><input type="checkbox" name="B[]" class="B" value="4B"></td>
    <td><input type="checkbox" name="C[]" class="C" value="4C" checked="checked"></td>
</tr>
        </tbody>
      </table>
    </div>
  </body>
</html>
 
body {
  font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}
 
$(document).ready( function () {
  var table = $('#example').DataTable({
    dom: 'Bt',
    select: {
      style: 'multi'
    },
    buttons: [
            {
                extend: 'collection',
                text: 'Select..',
                buttons: [
                    {
                        text: 'All checked A rows',
                        action: function ( e, dt, node, config ) {
                          // Deselect all first
                          dt.rows().deselect();
                          // Select any rows where checkbox in A is checked
                          dt.rows(function(index,row){
                            return $('#example > tbody > tr:eq('+index+') > td:eq(1) > input[type="checkbox"]').is(':checked');
                          }).select();
                        }
                    },
                    {
                        text: 'All checked B rows',
                        action: function ( e, dt, node, config ) {
                          // Deselect all first
                          //dt.rows().deselect();
                          // Select any rows where checkbox in B is checked
                          dt.rows(function(index,row){
                            return $('#example > tbody > tr:eq('+index+') > td:eq(2) > input[type="checkbox"]').is(':checked');
                          }).select();
                        }
                    },
                    {
                        text: 'All checked C rows',
                        action: function ( e, dt, node, config ) {
                          // Deselect all first
                          //dt.rows().deselect();
                          // Select any rows where checkbox in C is checked
                          dt.rows(function(index,row){
                            return $('#example > tbody > tr:eq('+index+') > td:eq(3) > input[type="checkbox"]').is(':checked');
                          }).select();
                        }
                    },
                    {
                        text: 'All',
                        action: function ( e, dt, node, config ) {
                          dt.rows().select();
                        }
                    },
                    {
                        text: 'None',
                        action: function ( e, dt, node, config ) {
                          dt.rows().deselect();
                        }
                    }
                ]
            }
        ]
  });
} );
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers