Skip to content

Latest commit

 

History

History
138 lines (120 loc) · 3.63 KB

leaderboard.md

File metadata and controls

138 lines (120 loc) · 3.63 KB
layout title description show_buttons
default
Leaderboard
false
<title>Sort a HTML Table Alphabetically</title> <style> table { border-spacing: 0; width: 100%; border: 1px solid #ddd; }

th { cursor: pointer; }

th, td { text-align: left; padding: 16px; }

tr:nth-child(even) { background-color: #f2f2f2 } </style>

Method Country Country Country Country Country
<script> function sortTable(n) { var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0; table = document.getElementById("myTable"); switching = true; //Set the sorting direction to ascending: dir = "asc"; /*Make a loop that will continue until no switching has been done:*/ while (switching) { //start by saying: no switching is done: switching = false; rows = table.rows; /*Loop through all table rows (except the first, which contains table headers):*/ for (i = 1; i < (rows.length - 1); i++) { //start by saying there should be no switching: shouldSwitch = false; /*Get the two elements you want to compare, one from current row and one from the next:*/ x = rows[i].getElementsByTagName("TD")[n]; y = rows[i + 1].getElementsByTagName("TD")[n]; /*check if the two rows should switch place, based on the direction, asc or desc:*/ if (dir == "asc") { if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { //if so, mark as a switch and break the loop: shouldSwitch= true; break; } } else if (dir == "desc") { if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) { //if so, mark as a switch and break the loop: shouldSwitch = true; break; } } } if (shouldSwitch) { /*If a switch has been marked, make the switch and mark that a switch has been done:*/ rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; //Each time a switch is done, increase this count by 1: switchcount ++; } else { /*If no switching has been done AND the direction is "asc", set the direction to "desc" and run the while loop again.*/ if (switchcount == 0 && dir == "asc") { dir = "desc"; switching = true; } } } } </script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/4.1.2/papaparse.js"></script> <script> function arrayToTable(tableData) { var table = document.getElementById("myTable"); $(tableData).each(function (i, rowData) { let row = table.insertRow(-1); $(rowData).each(function (j, cellData) { let c = row.insertCell(j); c.innerText = cellData; }); }); return table; } $.ajax({ type: "GET", url: "http://127.0.0.1:4000/sample.csv", success: function (data) { arrayToTable(Papa.parse(data).data); } }); </script>