<!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/datetime/1.1.0/css/dataTables.dateTime.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/datetime/1.1.0/js/dataTables.dateTime.js"></script>
<link href="https://cdn.datatables.net/searchbuilder/1.1.0/css/searchBuilder.dataTables.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/searchbuilder/1.1.0/js/dataTables.searchBuilder.js"></script>
  <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.7.0/js/dataTables.buttons.min.js"></script>
      <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.7.0/css/buttons.dataTables.min.css"/>
    
      <script type="text/javascript" src="https://cdn.datatables.net/colreorder/1.5.3/js/dataTables.colReorder.min.js"></script>
      <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/colreorder/1.5.3/css/colReorder.dataTables.min.css"/>
      <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.7.0/js/buttons.colVis.min.js"></script>
    
    <meta charset=utf-8 />
    <title>DataTables - JS Bin</title>
  </head>
  
    <body>
    <div class="container">
     <table id="example" class="display" style="width:100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Extn.</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Extn.</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </tfoot>
          </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 titles = {
    Position: 'Position Tooltip',
    Office: 'Office Tooltip',
    'Extn.': 'Extension Tooltip',
    'Start date': 'Start Date Tooltip'
  }
  function getTitle( value ) {
    return titles.hasOwnProperty( value ) ? titles[ value ] : 'No Tooltip';
  }
  function setTitles() {
    var buttons = $( 'button.buttons-columnVisibility' );
    $( 'button.buttons-columnVisibility' ).each(function( index ) {
      console.log( index + ": " + $( this ).text() );
      var tooltip = getTitle( $( this ).text() );
      $( this ).attr( 'title', tooltip );
    });
  }
    var table = $('#example').DataTable({
      dom: 'QBrifplt',
       "ajax": "https://raw.githubusercontent.com/DataTables/DataTables/master/examples/ajax/data/objects.txt",
          "deferRender": true,
      "columnDefs": [
        
          { className: "data0", "targets": [ 0 ] },
          { className: "data1", "targets": [ 1 ] },
          { className: "data2", "targets": [ 2 ] },
          { className: "data3", "targets": [ 3 ] },
          { className: "data4", "targets": [ 4 ] },
        
         // {
         //   targets: [1,2],
           // visible: false
         // }
      ],
      
        "columns": [
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "extn" },
            { "data": "start_date" },
            { "data": "salary" }
        ],
      
    colReorder: true,
              buttons: [
            {
              extend: 'colvis',
              text: 'Select Columns',
              collectionLayout: 'three-column',
              background: false,
              fade: 1,
              columns: ':gt(0)'
            }],
   
    'createdRow': function(row, data, index){
        if(data['extn']>=5000){
            $(row).find('.data0').css('background-color', 'rgb(204, 255, 204)');
        }
    }
    });
  
  
  table.on( 'buttons-action', function ( e, buttonApi, dataTable, node, config ) {
    
    /*
    if (buttonApi.text() === 'Select Columns') {
      $('.buttons-columnVisibility:eq('+table.colReorder.transpose(0)+')').attr('title', "Position Tooltip");
      $('.buttons-columnVisibility:eq('+table.colReorder.transpose(1)+')').attr('title', "Office Tooltip");
      $('.buttons-columnVisibility:eq('+table.colReorder.transpose(2)+')').attr('title', "Extn Tooltip");
      $('.buttons-columnVisibility:eq('+table.colReorder.transpose(3)+')').attr('title', "Start Date Tooltip");
      $('.buttons-columnVisibility:eq('+table.colReorder.transpose(4)+')').attr('title', "Salary Tooltip");
    }
   */
    setTitles();
    
    console.log( 'Button '+buttonApi.text()+' was activated' );
} );
  
table.on('column-reorder', function () {
  setTitles();
})
  } );
2 errors 1 warning
Line 11: Missing semicolon.
Line 70: ['extn'] is better written in dot notation.
Line 96: Missing semicolon.
Output

This bin was created anonymously and its free preview time has expired. Get a free unrestricted account

Dismiss x
public
Bin info
anonymouspro
0viewers