Arkadaşlar merhaba,
html bir tablo yapısını sahibim bu tablo yapısının bir sütununda sayılar var. Sayfa yüklenmesi tamamlandıktan sonra bu yapının sıralamasını küçükten büyüğe veya büyükten küçüğe sıralayabilirmiyim?
<table>
<tr>
<th>A</th>
<th>B</th>
<th>5</th>
</tr>
<tr>
<td>X</td>
<td>Y</td>
<td>4</td>
</tr>
<tr>
<td>I</td>
<td>J</td>
<td>10</td>
</tr>
</table>
Sayfa böyle geliyor kaynak kodundan bakılınca, burada 4 en yukarı, sonra 5, sonra da 10 gelicek şekilde sıralamak istiyorum.
Javascript tablo elemanlarını sıralama
3
●66
- 16-05-2021, 18:03:49hocam iki yol önerebilirim ya verileri yazdırırken sıralatmalısınız veya dataTable kullanmalısınız
- 16-05-2021, 18:15:59Stackoverflow'dan buldum işinizi görür umarım.
<table id="table_id"> <thead> <tr> <th>A</th> <th>B</th> <th>C</th> </tr> </thead> <tbody> <tr> <td>X</td> <td>Y</td> <td>4</td> </tr> <tr> <td>I</td> <td>J</td> <td>10</td> </tr> <tr> <td>I</td> <td>J</td> <td>5</td> </tr> </tbody> </table> <script> let sortTable = function(id, n, dir) { n--; var table, rows, switching, i, x, y, shouldSwitch, switchcount = 0; table = document.getElementById(id); switching = true; while (switching) { switching = false; rows = table.rows; for (i = 1; i < (rows.length - 1); i++) { shouldSwitch = false; x = rows[i].getElementsByTagName("TD")[n]; y = rows[i + 1].getElementsByTagName("TD")[n]; if (dir == "asc") { if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { shouldSwitch = true; break; } } else if (dir == "desc") { if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) { shouldSwitch = true; break; } } } if (shouldSwitch) { rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; switchcount ++; } else { if (switchcount == 0 && dir == "asc") { dir = "desc"; switching = true; } } } } sortTable("table_id", 3, "desc"); </script> - 16-05-2021, 18:33:08Teşekkür ederim, denicem.QuarkChain adlı üyeden alıntı: mesajı görüntüle