Switch toggle all not Working as expected

Viewed 162

I am trying to implement a toggle all on a main switch, but it is not working as expected. I have dataTables and I am using this code to hide/show columns:

$('.toggle-vis').on('click', function () {
    var column = table.column($(this).attr('data-column'));
    column.visible(!column.visible());
});

I implement a toggle all on a main switch by doing this:

$('#switch-toggle-all [data-toggle-all]').click(function () {
    $('#switch-toggle-all input[type="checkbox"]').prop('checked', this.checked);
});

Now, to make the the columns hide when I switch I tried to merge both codes, but the result is not what I expected:

$('#switch-toggle-all [data-toggle-all]').click(function () {
    $('#switch-toggle-all input[type="checkbox"]').prop('checked', this.checked);

    $('.toggle-vis').on('click', function () {
        //var column = table.column($(this).attr('data-column'));
        if ($('#switch-toggle-all input[type="checkbox"]').is(':checked')) {
            //$(this).prop('checked',true);
            console.log('show');
            table.column($(this).attr('data-column')).visible(true);
        }
        if ($('#switch-toggle-all input[type="checkbox"]').is(':not(:checked)')) {
            //$(this).prop('checked',false);
            console.log('hide');
            table.column($(this).attr('data-column')).visible(false);
        }
    });
});

Problems:

  • It returns me a loop when hide/show single columns;
  • Toggle all works but not hide columns.

The code is a kinda big to snippet here, so I made a small example on live.datatables.

EDIT[0]:

I made a better example and I am bringing the snippet to here:

$(document).ready(function() {

  var table = $('#example').DataTable();

  $('.toggle-vis').on('click', function() {
    var column = table.column($(this).attr('data-column'));
    column.visible(!column.visible());
  });

  $('.switch-toggle-all [data-toggle-all]').click(function() {

    $('.switch-toggle-all input[type="checkbox"]').prop('checked', this.checked);

    var status = $('.switch-toggle-all input[type="checkbox"]').is(':checked'); //get status of checkbox 

    //loop through other checkboxes
    $(".toggle-vis").each(function() {
      //get atr value and use same to hide/show
      table.column($(this).attr('data-column')).visible(status);
    });
  });
});
body {
  font: 12px "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}

div.dataTables_length,
div.dataTables_filter,
div.dataTables_info,
div.dataTables_paginate {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="http://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 rel="stylesheet" href="http://myoption.com.br/public/css/vendors_css.css">
<link rel="stylesheet" href="http://myoption.com.br/public/css/style.css">

<div class="switch-toggle-all">
  <div class="card-header">
    <a href="#">
      <h4 class="font-weight-500 text-nowrap mb-0" id="headingOne" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">Name Columns</h4>
    </a>
    <label class="switch switch-border switch-primary">
          <input type="checkbox" checked data-toggle-all>
          <span class="switch-indicator"></span>
        </label>
  </div>

  <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
    <div class="card-body">

      <div class="flexbox mb-10">
        <label for="checkbox0" class="control-sidebar-subheading">Name</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox0" class="toggle-vis" data-column="0" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox1" class="control-sidebar-subheading">Position</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox1" class="toggle-vis" data-column="1" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox2" class="control-sidebar-subheading">Office</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox2" class="toggle-vis" data-column="2" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

    </div>
  </div>
</div>
<div class="switch-toggle-all">
  <div class="card-header">
    <a href="#">
      <h4 class="font-weight-500 text-nowrap mb-0" id="headingOne" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">Number Columns</h4>
    </a>
    <label class="switch switch-border switch-primary">
          <input type="checkbox" checked data-toggle-all>
          <span class="switch-indicator"></span>
        </label>
  </div>

  <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
    <div class="card-body">

      <div class="flexbox mb-10">
        <label for="checkbox3" class="control-sidebar-subheading">Age</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox3" class="toggle-vis" data-column="3" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox3" class="control-sidebar-subheading">Salary</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox3" class="toggle-vis" data-column="4" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox3" class="control-sidebar-subheading">Start Date</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox3" class="toggle-vis" data-column="5" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

    </div>
  </div>
</div>


<table id="example" class="display nowrap" width="100%">
  <thead>
    <tr>
      <th>Name</th>
      <th>Position</th>
      <th>Office</th>
      <th>Age</th>
      <th>Start date</th>
      <th>Salary</th>
    </tr>
  </thead>

  <tfoot>
    <tr>
      <th>Name</th>
      <th>Position</th>
      <th>Office</th>
      <th>Age</th>
      <th>Start date</th>
      <th>Salary</th>
    </tr>
  </tfoot>

  <tbody>
    <tr>
      <td>Tiger Nixon</td>
      <td>System Architect</td>
      <td>Edinburgh</td>
      <td>61</td>
      <td>2011/04/25</td>
      <td>$3,120</td>
    </tr>
    <tr>
      <td>Garrett Winters</td>
      <td>Director</td>
      <td>Edinburgh</td>
      <td>63</td>
      <td>2011/07/25</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Ashton Cox</td>
      <td>Technical Author</td>
      <td>San Francisco</td>
      <td>66</td>
      <td>2009/01/12</td>
      <td>$4,800</td>
    </tr>
    <tr>
      <td>Cedric Kelly</td>
      <td>Javascript Developer</td>
      <td>Edinburgh</td>
      <td>22</td>
      <td>2012/03/29</td>
      <td>$3,600</td>
    </tr>
    <tr>
      <td>Jenna Elliott</td>
      <td>Financial Controller</td>
      <td>Edinburgh</td>
      <td>33</td>
      <td>2008/11/28</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Brielle Williamson</td>
      <td>Integration Specialist</td>
      <td>New York</td>
      <td>61</td>
      <td>2012/12/02</td>
      <td>$4,525</td>
    </tr>
    <tr>
      <td>Herrod Chandler</td>
      <td>Sales Assistant</td>
      <td>San Francisco</td>
      <td>59</td>
      <td>2012/08/06</td>
      <td>$4,080</td>
    </tr>
    <tr>
      <td>Rhona Davidson</td>
      <td>Integration Specialist</td>
      <td>Edinburgh</td>
      <td>55</td>
      <td>2010/10/14</td>
      <td>$6,730</td>
    </tr>
    <tr>
      <td>Colleen Hurst</td>
      <td>Javascript Developer</td>
      <td>San Francisco</td>
      <td>39</td>
      <td>2009/09/15</td>
      <td>$5,000</td>
    </tr>
    <tr>
      <td>Sonya Frost</td>
      <td>Software Engineer</td>
      <td>Edinburgh</td>
      <td>23</td>
      <td>2008/12/13</td>
      <td>$3,600</td>
    </tr>
    <tr>
      <td>Jena Gaines</td>
      <td>System Architect</td>
      <td>London</td>
      <td>30</td>
      <td>2008/12/19</td>
      <td>$5,000</td>
    </tr>
    <tr>
      <td>Quinn Flynn</td>
      <td>Financial Controller</td>
      <td>Edinburgh</td>
      <td>22</td>
      <td>2013/03/03</td>
      <td>$4,200</td>
    </tr>
    <tr>
      <td>Charde Marshall</td>
      <td>Regional Director</td>
      <td>San Francisco</td>
      <td>36</td>
      <td>2008/10/16</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Haley Kennedy</td>
      <td>Senior Marketing Designer</td>
      <td>London</td>
      <td>43</td>
      <td>2012/12/18</td>
      <td>$4,800</td>
    </tr>
    <tr>
      <td>Tatyana Fitzpatrick</td>
      <td>Regional Director</td>
      <td>London</td>
      <td>19</td>
      <td>2010/03/17</td>
      <td>$2,875</td>
    </tr>
    <tr>
      <td>Michael Silva</td>
      <td>Senior Marketing Designer</td>
      <td>London</td>
      <td>66</td>
      <td>2012/11/27</td>
      <td>$3,750</td>
    </tr>
    <tr>
      <td>Paul Byrd</td>
      <td>Javascript Developer</td>
      <td>New York</td>
      <td>64</td>
      <td>2010/06/09</td>
      <td>$5,000</td>
    </tr>
    <tr>
      <td>Gloria Little</td>
      <td>Systems Administrator</td>
      <td>New York</td>
      <td>59</td>
      <td>2009/04/10</td>
      <td>$3,120</td>
    </tr>
    <tr>
      <td>Bradley Greer</td>
      <td>Software Engineer</td>
      <td>London</td>
      <td>41</td>
      <td>2012/10/13</td>
      <td>$3,120</td>
    </tr>
    <tr>
      <td>Dai Rios</td>
      <td>System Architect</td>
      <td>Edinburgh</td>
      <td>35</td>
      <td>2012/09/26</td>
      <td>$4,200</td>
    </tr>
    <tr>
      <td>Jenette Caldwell</td>
      <td>Financial Controller</td>
      <td>New York</td>
      <td>30</td>
      <td>2011/09/03</td>
      <td>$4,965</td>
    </tr>
    <tr>
      <td>Yuri Berry</td>
      <td>System Architect</td>
      <td>New York</td>
      <td>40</td>
      <td>2009/06/25</td>
      <td>$3,600</td>
    </tr>
    <tr>
      <td>Caesar Vance</td>
      <td>Technical Author</td>
      <td>New York</td>
      <td>21</td>
      <td>2011/12/12</td>
      <td>$4,965</td>
    </tr>
    <tr>
      <td>Doris Wilder</td>
      <td>Sales Assistant</td>
      <td>Edinburgh</td>
      <td>23</td>
      <td>2010/09/20</td>
      <td>$4,965</td>
    </tr>
    <tr>
      <td>Angelica Ramos</td>
      <td>System Architect</td>
      <td>London</td>
      <td>36</td>
      <td>2009/10/09</td>
      <td>$2,875</td>
    </tr>
    <tr>
      <td>Gavin Joyce</td>
      <td>Developer</td>
      <td>Edinburgh</td>
      <td>42</td>
      <td>2010/12/22</td>
      <td>$4,525</td>
    </tr>
    <tr>
      <td>Jennifer Chang</td>
      <td>Regional Director</td>
      <td>London</td>
      <td>28</td>
      <td>2010/11/14</td>
      <td>$4,080</td>
    </tr>
    <tr>
      <td>Brenden Wagner</td>
      <td>Software Engineer</td>
      <td>San Francisco</td>
      <td>18</td>
      <td>2011/06/07</td>
      <td>$3,750</td>
    </tr>
    <tr>
      <td>Ebony Grimes</td>
      <td>Software Engineer</td>
      <td>San Francisco</td>
      <td>48</td>
      <td>2010/03/11</td>
      <td>$2,875</td>
    </tr>
    <tr>
      <td>Russell Chavez</td>
      <td>Director</td>
      <td>Edinburgh</td>
      <td>20</td>
      <td>2011/08/14</td>
      <td>$3,600</td>
    </tr>
    <tr>
      <td>Michelle House</td>
      <td>Integration Specialist</td>
      <td>Edinburgh</td>
      <td>37</td>
      <td>2011/06/02</td>
      <td>$3,750</td>
    </tr>
    <tr>
      <td>Suki Burks</td>
      <td>Developer</td>
      <td>London</td>
      <td>53</td>
      <td>2009/10/22</td>
      <td>$2,875</td>
    </tr>
    <tr>
      <td>Prescott Bartlett</td>
      <td>Technical Author</td>
      <td>London</td>
      <td>27</td>
      <td>2011/05/07</td>
      <td>$6,730</td>
    </tr>
    <tr>
      <td>Gavin Cortez</td>
      <td>Technical Author</td>
      <td>San Francisco</td>
      <td>22</td>
      <td>2008/10/26</td>
      <td>$6,730</td>
    </tr>
    <tr>
      <td>Martena Mccray</td>
      <td>Integration Specialist</td>
      <td>Edinburgh</td>
      <td>46</td>
      <td>2011/03/09</td>
      <td>$4,080</td>
    </tr>
    <tr>
      <td>Unity Butler</td>
      <td>Senior Marketing Designer</td>
      <td>San Francisco</td>
      <td>47</td>
      <td>2009/12/09</td>
      <td>$3,750</td>
    </tr>
    <tr>
      <td>Howard Hatfield</td>
      <td>Financial Controller</td>
      <td>San Francisco</td>
      <td>51</td>
      <td>2008/12/16</td>
      <td>$4,080</td>
    </tr>
    <tr>
      <td>Hope Fuentes</td>
      <td>Financial Controller</td>
      <td>San Francisco</td>
      <td>41</td>
      <td>2010/02/12</td>
      <td>$4,200</td>
    </tr>
    <tr>
      <td>Vivian Harrell</td>
      <td>System Architect</td>
      <td>San Francisco</td>
      <td>62</td>
      <td>2009/02/14</td>
      <td>$4,965</td>
    </tr>
    <tr>
      <td>Timothy Mooney</td>
      <td>Financial Controller</td>
      <td>London</td>
      <td>37</td>
      <td>2008/12/11</td>
      <td>$4,200</td>
    </tr>
    <tr>
      <td>Jackson Bradshaw</td>
      <td>Director</td>
      <td>New York</td>
      <td>65</td>
      <td>2008/09/26</td>
      <td>$5,000</td>
    </tr>
    <tr>
      <td>Miriam Weiss</td>
      <td>Support Engineer</td>
      <td>Edinburgh</td>
      <td>64</td>
      <td>2011/02/03</td>
      <td>$4,965</td>
    </tr>
    <tr>
      <td>Bruno Nash</td>
      <td>Software Engineer</td>
      <td>London</td>
      <td>38</td>
      <td>2011/05/03</td>
      <td>$4,200</td>
    </tr>
    <tr>
      <td>Odessa Jackson</td>
      <td>Support Engineer</td>
      <td>Edinburgh</td>
      <td>37</td>
      <td>2009/08/19</td>
      <td>$3,600</td>
    </tr>
    <tr>
      <td>Thor Walton</td>
      <td>Developer</td>
      <td>New York</td>
      <td>61</td>
      <td>2013/08/11</td>
      <td>$3,600</td>
    </tr>
    <tr>
      <td>Finn Camacho</td>
      <td>Support Engineer</td>
      <td>San Francisco</td>
      <td>47</td>
      <td>2009/07/07</td>
      <td>$4,800</td>
    </tr>
    <tr>
      <td>Elton Baldwin</td>
      <td>Data Coordinator</td>
      <td>Edinburgh</td>
      <td>64</td>
      <td>2012/04/09</td>
      <td>$6,730</td>
    </tr>
    <tr>
      <td>Zenaida Frank</td>
      <td>Software Engineer</td>
      <td>New York</td>
      <td>63</td>
      <td>2010/01/04</td>
      <td>$4,800</td>
    </tr>
    <tr>
      <td>Zorita Serrano</td>
      <td>Software Engineer</td>
      <td>San Francisco</td>
      <td>56</td>
      <td>2012/06/01</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Jennifer Acosta</td>
      <td>Javascript Developer</td>
      <td>Edinburgh</td>
      <td>43</td>
      <td>2013/02/01</td>
      <td>$2,875</td>
    </tr>
    <tr>
      <td>Cara Stevens</td>
      <td>Sales Assistant</td>
      <td>New York</td>
      <td>46</td>
      <td>2011/12/06</td>
      <td>$4,800</td>
    </tr>
    <tr>
      <td>Hermione Butler</td>
      <td>Director</td>
      <td>London</td>
      <td>47</td>
      <td>2011/03/21</td>
      <td>$4,080</td>
    </tr>
    <tr>
      <td>Lael Greer</td>
      <td>Systems Administrator</td>
      <td>London</td>
      <td>21</td>
      <td>2009/02/27</td>
      <td>$3,120</td>
    </tr>
    <tr>
      <td>Jonas Alexander</td>
      <td>Developer</td>
      <td>San Francisco</td>
      <td>30</td>
      <td>2010/07/14</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Shad Decker</td>
      <td>Regional Director</td>
      <td>Edinburgh</td>
      <td>51</td>
      <td>2008/11/13</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Michael Bruce</td>
      <td>Javascript Developer</td>
      <td>Edinburgh</td>
      <td>29</td>
      <td>2011/06/27</td>
      <td>$4,080</td>
    </tr>
    <tr>
      <td>Donna Snider</td>
      <td>System Architect</td>
      <td>New York</td>
      <td>27</td>
      <td>2011/01/25</td>
      <td>$3,120</td>
    </tr>
  </tbody>
</table>

1 Answers

Whenever your switch-all checkbox is clicked you can simply loop through your other checkboxes to get value of data-column attribute and then using this value you can simply hide/show your columns.

Demo Code :

$(document).ready(function() {
  var table = $('#example').DataTable();
  $('.toggle-vis').on('click', function() {
    var column = table.column($(this).attr('data-column'));
    column.visible(!column.visible());
  });
  $('.switch-toggle-all [data-toggle-all]').click(function() {
    var selector = $(this).closest(".switch-toggle-all")
    //only checked checkboxes where toggle has clicked
    selector.find('input[type="checkbox"]').prop('checked', this.checked);
    var status = $(this).is(':checked'); //get status of checkbox 
    //loop through other checkboxes
    selector.find(".toggle-vis").each(function() {
      //get atr value and use same to hide/show
      table.column($(this).attr('data-column')).visible(status);
    });

  });
});
body {
  font: 12px "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-color: #fff;
}

div.dataTables_length,
div.dataTables_filter,
div.dataTables_info,
div.dataTables_paginate {
  display: none;
}
<script src="http://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 rel="stylesheet" href="http://myoption.com.br/public/css/vendors_css.css">
<link rel="stylesheet" href="http://myoption.com.br/public/css/style.css">
<div class="switch-toggle-all">
  <div class="card-header">
    <a href="#">
      <h4 class="font-weight-500 text-nowrap mb-0" id="headingOne" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">Name Columns</h4>
    </a>
    <label class="switch switch-border switch-primary">
          <input type="checkbox" checked data-toggle-all>
          <span class="switch-indicator"></span>
        </label>
  </div>

  <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
    <div class="card-body">

      <div class="flexbox mb-10">
        <label for="checkbox0" class="control-sidebar-subheading">Name</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox0" class="toggle-vis" data-column="0" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox1" class="control-sidebar-subheading">Position</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox1" class="toggle-vis" data-column="1" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox2" class="control-sidebar-subheading">Office</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox2" class="toggle-vis" data-column="2" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

    </div>
  </div>
</div>
<div class="switch-toggle-all">
  <div class="card-header">
    <a href="#">
      <h4 class="font-weight-500 text-nowrap mb-0" id="headingOne" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">Number Columns</h4>
    </a>
    <label class="switch switch-border switch-primary">
          <input type="checkbox" checked data-toggle-all>
          <span class="switch-indicator"></span>
        </label>
  </div>

  <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
    <div class="card-body">

      <div class="flexbox mb-10">
        <label for="checkbox3" class="control-sidebar-subheading">Age</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox3" class="toggle-vis" data-column="3" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox3" class="control-sidebar-subheading">Salary</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox3" class="toggle-vis" data-column="4" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

      <div class="flexbox mb-10">
        <label for="checkbox3" class="control-sidebar-subheading">Start Date</label>
        <label class="switch switch-border switch-primary">
              <input type="checkbox" id="checkbox3" class="toggle-vis" data-column="5" checked>
              <span class="switch-indicator"></span>
            </label>
      </div>

    </div>
  </div>
</div>


<table id="example" class="display nowrap" width="100%">
  <thead>
    <tr>
      <th>Name</th>
      <th>Position</th>
      <th>Office</th>
      <th>Age</th>
      <th>Start date</th>
      <th>Salary</th>
    </tr>
  </thead>

  <tfoot>
    <tr>
      <th>Name</th>
      <th>Position</th>
      <th>Office</th>
      <th>Age</th>
      <th>Start date</th>
      <th>Salary</th>
    </tr>
  </tfoot>

  <tbody>
    <tr>
      <td>Tiger Nixon</td>
      <td>System Architect</td>
      <td>Edinburgh</td>
      <td>61</td>
      <td>2011/04/25</td>
      <td>$3,120</td>
    </tr>
    <tr>
      <td>Garrett Winters</td>
      <td>Director</td>
      <td>Edinburgh</td>
      <td>63</td>
      <td>2011/07/25</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Ashton Cox</td>
      <td>Technical Author</td>
      <td>San Francisco</td>
      <td>66</td>
      <td>2009/01/12</td>
      <td>$4,800</td>
    </tr>
    <tr>
      <td>Cedric Kelly</td>
      <td>Javascript Developer</td>
      <td>Edinburgh</td>
      <td>22</td>
      <td>2012/03/29</td>
      <td>$3,600</td>
    </tr>
    <tr>
      <td>Jenna Elliott</td>
      <td>Financial Controller</td>
      <td>Edinburgh</td>
      <td>33</td>
      <td>2008/11/28</td>
      <td>$5,300</td>
    </tr>
    <tr>
      <td>Brielle Williamson</td>
      <td>Integration Specialist</td>
      <td>New York</td>
      <td>61</td>
      <td>2012/12/02</td>
      <td>$4,525</td>
    </tr>
    <tr>
      <td>Donna Snider</td>
      <td>System Architect</td>
      <td>New York</td>
      <td>27</td>
      <td>2011/01/25</td>
      <td>$3,120</td>
    </tr>
  </tbody>
</table>

Related