Ajout écouteur case versement
Calcul et affichage total des lignes cochées FossilOrigin-Name: d8e436ba77f939fa0aa475bfcffc0ca23a9ad9ec0861d9bbee615ff36761a79f
This commit is contained in:
parent
358becfca7
commit
31a0f8fdc3
2 changed files with 48 additions and 7 deletions
|
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* Fonction appelée quand on (dé)coche la case d'une personne
|
||||
* - (dé)sélectionner toutes les cases à cocher
|
||||
* - faire le total des cases cochées
|
||||
* - faire le total des cases cochées et l'afficher
|
||||
*
|
||||
* @param id de la case qui a été cochée
|
||||
* @param id de l'élément où afficher le total
|
||||
|
|
@ -11,10 +11,46 @@ function cocherDecocherPersonne(idCase, idTotal) {
|
|||
var fieldset = idCase.closest("fieldset");
|
||||
var listeCheck = fieldset.getElementsByTagName("input");
|
||||
var listeMontants = fieldset.querySelectorAll("span.montant");
|
||||
var total = 0;
|
||||
for (var i = 1; i < listeCheck.length; ++i)
|
||||
{
|
||||
listeCheck[i].checked = listeCheck[0].checked;
|
||||
}
|
||||
// changer le message
|
||||
var message = idCase.nextElementSibling;
|
||||
if (idCase.checked) {
|
||||
message.innerHTML = "Cliquer ici pour dé-cocher toutes les lignes";
|
||||
} else {
|
||||
message.innerHTML = "Cliquer ici pour cocher toutes les lignes";
|
||||
}
|
||||
// calculer et afficher le total
|
||||
calculerTotal(listeCheck, listeMontants, idTotal);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction appelée quand on (dé)coche la case d'un versement
|
||||
* - (dé)sélectionner cette case (?)
|
||||
* - faire le total des cases cochées et l'afficher
|
||||
*
|
||||
* @param id de la case qui a été cochée
|
||||
* @param id de l'élément où afficher le total
|
||||
*/
|
||||
function cocherDecocherVersement(idCase, idTotal) {
|
||||
var fieldset = idCase.closest("fieldset");
|
||||
var listeCheck = fieldset.getElementsByTagName("input");
|
||||
var listeMontants = fieldset.querySelectorAll("span.montant");
|
||||
calculerTotal(listeCheck, listeMontants, idTotal);
|
||||
}
|
||||
|
||||
/**
|
||||
* Faire le total des cases cochées et l'afficher
|
||||
* @param listes des cases
|
||||
* @param listes des montants associés
|
||||
* @param id de l'élément où afficher le total
|
||||
*/
|
||||
function calculerTotal(listeCheck, listeMontants, idTotal) {
|
||||
var total = 0;
|
||||
for (var i = 1; i < listeCheck.length; ++i)
|
||||
{
|
||||
if (listeCheck[i].checked) {
|
||||
total += Number(listeMontants[i-1].textContent);
|
||||
}
|
||||
|
|
@ -29,7 +65,7 @@ function cocherDecocherPersonne(idCase, idTotal) {
|
|||
* Cocher/décocher toutes les cases d'un tableau
|
||||
* en fonction de l'état de la première (ligne d'entête)
|
||||
* @param evt : événement déclencheur
|
||||
* @remarks : est remplacé par la foncion cocherDecocher ci-dessus
|
||||
* @remarks : est remplacé par la fonction cocherDecocherPersonne ci-dessus
|
||||
*/
|
||||
function cocherDecocher_old(evt) {
|
||||
console.log("this = " + this.className);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue