Bonjour tout le forum,

Je souhaite attribuer une valeur à des "type radio" s'ils sont affichés à l'écran et suivant le nombre d'affichés. C'est l'utilisateur qui choisit les colonnes qu'il souhaite afficher.

Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<td data-ordre="1" style="display: none;" class="basF"><input type="radio" name="1" id="capacite1_1_2" value="1"/></td>
<td data-ordre="2"                        class="basF"><input type="radio" name="1" id="capacite1_1_3" value="2"/></td>
<td data-ordre="3"                        class="basF"><input type="radio" name="1" id="capacite1_1_4" value="3"/></td>
<td data-ordre="4"                        class="basF"><input type="radio" name="1" id="capacite1_1_5" value="4"/></td>
<td data-ordre="5" style="display: none;" class="basF"><input type="radio" name="1" id="capacite1_1_6" value="5"/></td>
<td data-ordre="6"                        class="basF"><input type="radio" name="1" id="capacite1_1_7" value="6"/></td>
<td data-ordre="7" style="display: none;" class="basF"><input type="radio" name="1" id="capacite1_1_8" value="7"/></td>
<td data-ordre="8" style="display: none;" class="basF"><input type="radio" name="1" id="capacite1_1_9" value="8"/></td

Dans cet exemple, je dois attribuer :
  • La valeur 0 au type radio de la colonne data-ordre="2"


Pour les autres, je dois répartir 8 points, comme ici il y a 3 autres colonnes.
  • La valeur 8/3 au type radio de la colonne data-ordre="3"
  • La valeur 16/3 au type radio de la colonne data-ordre="4"
  • La valeur 24/3 au type radio de la colonne data-ordre="6"



Au moment où l'utilisateur sélectionne ses colonnes, je compte le nombre de colonnes affichées dans l'en-tête.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
function compterVisible() {
  let nbCoche = 0;
  for (let i = 1; i <= 8; i++) {
    let celluleTh = document.querySelectorAll("th[data-ordre='" + i + "']");
    if (celluleTh[0].style.display == "") {
      nbCoche++;
    }
  }
}
Je n'arrive pas à sélectionner le bon type radio et à lui attribuer la valeur.

Comment faire ? Utiliser querySelector ? getElementById ? getElementsByName ?

J'ai fait plusieurs tentatives sans succès.

Mon code complet ici

Merci pour votre aide.