Tableaux, calculs et contenteditable
Résolu/Fermé
meuhlol
Messages postés
1896
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
30 novembre 2021
-
2 août 2020 à 22:35
meuhlol Messages postés 1896 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 - 8 août 2020 à 13:14
meuhlol Messages postés 1896 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 - 8 août 2020 à 13:14
3 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 août 2020 à 01:07
3 août 2020 à 01:07
Bonjour,
Tu dois donc boucler dessus
Si....
Tu boucles sur tous les éléments de type TR ...
pour chaque TR, tu prends les élements des deux premières cellules pour faire ton calcul et tu le mets dans la troisième cellule..
un truc du genre :
document.getElementsByClassName
Renvoie un objet de type tableau de tous les éléments enfants qui ont tous les noms de classe donnés
Tu dois donc boucler dessus
var elements = document.getElementsByClassName('ref'); for(var i =0;i<elements.length;i++){ elements[i].contentEditable =true; }
N'y a-t-il pas un moyen "simple" de lui dire : "tu vas chercher le nombre de la colonne A, tu vas le multiplier par le nombre de la colonne B et tu vas afficher le résultat dans la colonne C. Puis tu me fais la même chose avec toutes les lignes et à la fin, tu prends tous les nombres de la colonne C et tu me les additionnes en affichant le résultat tout en bas dans la colonne C." ?
Si....
Tu boucles sur tous les éléments de type TR ...
pour chaque TR, tu prends les élements des deux premières cellules pour faire ton calcul et tu le mets dans la troisième cellule..
un truc du genre :
var total = 0; var table = document.getElementById('mytbl'); for (var r = 0, n = table.rows.length; r < n; r++) { var cel1 = parseFloat(table.rows[r].cells[0].innerHTML); var cel2 = parseFloat(table.rows[r].cells[1].innerHTML); table.rows[r].cells[2].innerHTML = cel1*cel2; total += cel1*cel2; } alert(total);
meuhlol
Messages postés
1896
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
30 novembre 2021
672
3 août 2020 à 22:21
3 août 2020 à 22:21
Merci beaucoup pour la réponse claire !
Je vais tester ça ce weekend (pas le temps avant, hélas) !
Bonne soirée !
Je vais tester ça ce weekend (pas le temps avant, hélas) !
Bonne soirée !
meuhlol
Messages postés
1896
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
30 novembre 2021
672
Modifié le 8 août 2020 à 13:23
Modifié le 8 août 2020 à 13:23
Bonjour,
Il n'y a pas moyen de sélectionner plusieurs en une seule ligne ?
J'essaie
mais cela ne marche pas
MAais j'ai fait autrement sinon, j'ai mis "ref" à tous les td que je veux rendre éditable et c'est tout xD
Il n'y a pas moyen de sélectionner plusieurs en une seule ligne ?
J'essaie
var elements = document.getElementsByClassName('ref','desc','q','pu'); /* ou 'ref desc q pu') */
for(var i =0;i<elements.length;i++){
elements[i].contentEditable =true;
}
mais cela ne marche pas
MAais j'ai fait autrement sinon, j'ai mis "ref" à tous les td que je veux rendre éditable et c'est tout xD