J'ai une chaîne qui est une séquence de combinaisons comme ceci: "AB BCD C AD ABCD ...".jQuery - Multiplie la valeur dans le formulaire avec les facteurs (prédéfinis) donnés par les valeurs de case à cocher
A, B, C et D sont les facteurs, disons 2, 3, 4 et 5.
je besoin de calculer la valeur total
, qui est un produit de valeur initiale (10 ou 20 dans la exemple html ci-dessous) et ces facteurs.
La combinaison de facteurs doit être sélectionnée par l'utilisateur en cochant les cases correspondantes, mais la combinaison choisie doit être contenue dans la chaîne ci-dessus. Si ce n'est pas le cas, l'utilisateur doit avoir la possibilité de sélectionner la combinaison autorisée dans le menu déroulant. Cette dernière action devrait vérifier automatiquement les cases correspondantes et ainsi calculer la valeur nécessaire de total
. J'ai besoin de cela répété plusieurs fois dans le formulaire et je suis resté bloqué à l'étape de lecture des différentes valeurs initiales de total
à partir de l'attribut html "value". La version actuelle ne tient pas compte du fait que j'ai défini total = 10
dans jQuery.
$(document).ready(function() {
$(".factor-checkbox").click(function(event) {
var $section = $(this).closest(".section"),
total = 10;
$section.find("input:checked").each(function() {
total *= parseInt($(this).val());
});
$section.find('.result').val(total);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="section">
<label><input type="checkbox" name="A" value="2" class="factor-checkbox">A</label>
<label><input type="checkbox" name="B" value="3" class="factor-checkbox">B</label>
<label><input type="checkbox" name="C" value="4" class="factor-checkbox">C</label>
<label><input type="checkbox" name="D" value="5" class="factor-checkbox">D</label>
<label>Result <input type="text" value="10" class="result"></label>
</div>
<div class="section">
<label><input type="checkbox" name="A" value="2" class="factor-checkbox">A</label>
<label><input type="checkbox" name="B" value="3" class="factor-checkbox">B</label>
<label><input type="checkbox" name="C" value="4" class="factor-checkbox">C</label>
<label><input type="checkbox" name="D" value="5" class="factor-checkbox">D</label>
<label>Result <input type="text" value="20" class="result"></label>
</div>
Parfait! Exactement ce dont j'avais besoin. Merci beaucoup! Je vais essayer de tout mettre en œuvre. –
Serait-il possible dans votre solution d'avoir des 'combos' variables différentes pour chaque section et de les lire dans les options de la' helperBox' correspondante ou de la chaîne qui aura différentes valeurs pour différentes sections comme je vais itérer dans le formulaire? –