Im nouveau chez javascript / Html et j'ai un tableau avec des valeurs que je veux trier. La question est de savoir comment faire un cycle pour les colonnes / lignes afin qu'elles puissent rester le même nombre.

<html>
<head>
<script>
function Table() {
  var list, i, switching, b, shouldSwitch, attrib;
  list = document.getElementById("picks");
  attrib = document.getElementsByTagName("TD");
  switching = true;
   while (switching) {

    switching = false;
    b = list.getElementsByTagName("p");
    for (i = 0; i < (b.length - 1); i++) {

      shouldSwitch = false;
          if (b[i].innerHTML.toLowerCase() > b[i + 1].innerHTML.toLowerCase()) {
               shouldSwitch = true;
        break;
      }
    }
    if (shouldSwitch) {
        attrib[i].parentNode.insertBefore(attrib[i + 1], attrib[i]);
              switching = true;
}
}
}
</script>
</head>
<body>


<button onclick="Table()">Sort</button>

<table id="picks">
    <tr>
        <td><p>Sam</p></td>
        <td><p>Leo</p></td>
        <td><p>Teo</p></td>
    </tr>
    <tr>
        <td><p>Ann</p></td>
        <td><p>Susan</p></td>
        <td><p>Sasha</p></td>
    </tr>
    <tr>
        <td><p>Yu</p></td>
        <td><p>Harry</p></td>
        <td><p>Katy</p></td>
    </tr>
</table>



</body>
</html>

J'ai essayé de faire un cycle for pour le document.getElementsByTagName ("TR"); et n'a pas vraiment atteint le résultat final. Im utilisant une colonne comme argument et réorganisant tout le talbe.

0
Fenrera 7 nov. 2019 à 23:43

1 réponse

Vous devez stocker vos données dans un tableau, les trier et les afficher à partir du tableau.

L'utilisation de JQuery rendra la manipulation DOM beaucoup plus facile.

Regardez la réponse acceptée: Imprimer le tableau Javascript dans le tableau

0
jayms 7 nov. 2019 à 21:02