JQuery sort table rows on column value

To sort first column use ...eq(0)... Second column ...eq(1)... and so on

by ian_smithz

HTML

<table name="mytable" id="mytable">
  <thead>
    <tr><th>column1</th><th>column2</th><th>column3</th></tr>
  </thead>
  <tbody>
    <tr><td>Alpha</td><td>Beta</td><td>Gamma</td></tr>
    <tr><td>Gamma</td><td>Alpha</td><td>Beta</td></tr>
    <tr><td>Beta</td><td>Gamma</td><td>Alpha</td></tr>
  </tbody>
</table>

<!-- another example here: https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_sort_table -->

JavaScript

function sortTable(){
  var rows = $('#mytable tbody  tr').get();

  rows.sort(function(a, b) {

  var A = $(a).children('td').eq(0).text().toUpperCase();
  var B = $(b).children('td').eq(0).text().toUpperCase();

  if(A < B) {
    return -1;
  }

  if(A > B) {
    return 1;
  }

  return 0;

  });

  $.each(rows, function(index, row) {
    $('#mytable').children('tbody').append(row);
  });
}

sortTable();