Incrémenter une variable à chaque action JavaScript
Résolu/Fermé
aureb09
Messages postés
33
Date d'inscription
mardi 29 décembre 2015
Statut
Membre
Dernière intervention
15 juin 2023
-
Modifié le 28 déc. 2017 à 15:43
aureb09 Messages postés 33 Date d'inscription mardi 29 décembre 2015 Statut Membre Dernière intervention 15 juin 2023 - 3 janv. 2018 à 17:45
aureb09 Messages postés 33 Date d'inscription mardi 29 décembre 2015 Statut Membre Dernière intervention 15 juin 2023 - 3 janv. 2018 à 17:45
A voir également:
- Javascript incrémenter compteur
- Compteur électrique - Guide
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Compteur communicant - Guide
- Telecharger javascript - Télécharger - Langages
- Compteur de contractions - Télécharger - Santé & Bien-être
2 réponses
jordane45
Messages postés
38296
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 novembre 2024
4 704
Modifié le 3 janv. 2018 à 07:54
Modifié le 3 janv. 2018 à 07:54
Bonjour,
Pourquoi ne pas simplement laisser le code gérer les index de tes name ?
Juste en écrivant :
Sinon... tu peux toujours essayer de les mettre à jour via du code...
(je n'ai pas le temps de chercher.. mais tu pourrais partir sur un truc du genre )
Cordialement,
Jordane
Pourquoi ne pas simplement laisser le code gérer les index de tes name ?
Juste en écrivant :
<tr v-for="(row, index) in rows"> <td><textarea name="description[]" value="" /> </textarea></td> <td><input name="qte[]" class="text-right" type="text" v-model="row.quantity"></td> <td><input name="prixuni[]" class="text-right" type="text" v-model="row.price"> €</td> <td><input name="prixht[]" class="text-right" type="text" v-model="row.amount"> €</td> <td><input name="prixttc[]" class="text-right" type="text" v-model="row.amount"> €</td> <td><a href="#!" @click.prevent="add(index)">Ajouter</a> <a href="#!" @click.prevent="del(index)">Supprimer</a> </td> </tr>
Sinon... tu peux toujours essayer de les mettre à jour via du code...
(je n'ai pas le temps de chercher.. mais tu pourrais partir sur un truc du genre )
Vue.config.debug = true var name=0; new Vue({ el: "#app", data: { rows: [{ quantity: 0, price: 0, amount: 0 }], total: 0 }, methods: { updateRowNames(row){ console.log(row); //la suite du code ici... }, add(index) { this.rows.splice(index + 1, 0, { quantity: 0, price: 0, amount: 0, }) this.updateRowNames(index); }, del(index) { this.rows.splice(index, 1) } }, watch: { rows: { handler() { this.rows.map(row => row.amount = Math.round(row.price * row.quantity * 100) / 100) this.total = Math.round(this.rows.reduce((accumulator, current) => accumulator + current.amount, 0) * 100) / 100 }, deep: true } } })
Cordialement,
Jordane
forum92
Messages postés
220
Date d'inscription
lundi 6 juillet 2015
Statut
Membre
Dernière intervention
14 août 2018
133
29 déc. 2017 à 19:21
29 déc. 2017 à 19:21
Bonjour,
Si tu souhaites un tableau qui s'incrémente, il faut une variable : exemple:
tout dépend de ce que contienne tes tableaux .
tu as l'air d'avoir beaucoup de tableau , je te conseillerai donc si tu travail en php objet de crée un objet contenant toutes ces caractéristiques . Sinon u for simple serait plus adapté , je pense.
Si tu souhaites un tableau qui s'incrémente, il faut une variable : exemple:
//pour un tableau associatif $tab1= array("blablaKey"=>"blablaValue", ...); foreach( $tab1 as $ligne){ echo " <td><input name=' ".$ligne.' " ... ></td>"; } //ou un tableau normal avec un for for($i = 0, $i < $tab1.lengh , $i++){ echo " <td><input name=' ".$tab1[i].' " ... ></td>"; }
tout dépend de ce que contienne tes tableaux .
tu as l'air d'avoir beaucoup de tableau , je te conseillerai donc si tu travail en php objet de crée un objet contenant toutes ces caractéristiques . Sinon u for simple serait plus adapté , je pense.
Modifié le 3 janv. 2018 à 01:30
Tu parles de quel code qui pourrait gérer les index ? PHP ou JS ?
Ta deuxième proposition est celle que j'envisagais mais je t'avoue que je ne vois pas trop comment coder ça sachant que je ne suis pas un expert en JS...
J'avais penser sinon réaliser l'incrémentation en PHP mais vu que l'ajout des inputs est en JS, même si je définit une variable $i, mon script copiera toujours la dernière valeur de i
3 janv. 2018 à 07:55
3 janv. 2018 à 13:20
3 janv. 2018 à 13:50
Si oui.. testes et tu comprendras
3 janv. 2018 à 17:45
J'ai donc récupéré mes champs avec et ceux, pour toutes les autres variables. J'ai mis tous ça dans une boucle for pour récupérer l'ensemble du tableau.