0
votes

Valeur calculée ne pas entrer pour la boucle

J'ai besoin de calculer var packprice + var packprices + var ala qui est en train d'entrer en boucle. Je reçois toutes les valeurs de la console mais dans TPRICE Ajout ne reçoit pas. S'il vous plaît aider. XXX


5 commentaires

S'il vous plaît pouvez-vous publier votre HTML aussi ou partager le JSFIDDLE, c'est facile à déboguer


En fait, il y a beaucoup de code obtenant toutes les valeurs avec PHP de la base de données directement. Donc, je ne suis pas capable d'ajouter du code entier ici.


Quelle est la valeur que vous obtenez autre que le résultat souhaité?


Je reçois la dernière valeur vérifiée dans la console lorsque je calcule


Il est difficile de comprendre votre problème. Votre code a l'air bien. Déclaration à l'extérieur / à l'intérieur de la boucle n'a pas d'importance. Vous obtenez «0» comme o / p ou une valeur concaténée comme '12 +234 '?


3 Réponses :


0
votes

Vous devez définir la variable avant la boucle de la boucle

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


3 commentaires

J'ai besoin de tout calcul sur le bouton clic. Il n'y a pas de clic dans votre appelé ci-dessus


le code aura la première ligne en tant que $ ("#get_total") .Click (fonction () {, je modifie ma réponse


Ne fonctionne pas ..J'emez la seule case à cocher VALEUR. Je reçois toutes les valeurs de la console. mais ne pas obtenir total



0
votes

Nous supposons que vous avez des éléments de plage comme suit: xxx

Vous pouvez désormais définir la valeur qui déclare hors de la boucle xxx / p>


0 commentaires

1
votes

Vous devez déclarer TPRICE code> en dehors de la boucle et ajouter des résultats à TPRICE code> comme ci-dessous.

$( "#get_total" ).click(function() {
alert('calculation pending');
var idSelector = function() { return this.value; };
var packprices = 0;
var packprice = 0;
var c = $(":checkbox:checked").map(idSelector).get();
var tprice = 0;
for (var i = 0; i < c.length; i++) {
    // console.log(c[i]);
    // console.log(parseInt($(".longduration_price" + c[i]).val()));
    if($(".duration_status" + c[i]).is(':checked'))
    {
        var packprice = !isNaN(parseInt($(".longduration_price" + c[i]).val())) ? parseInt($(".longduration_price" + c[i]).val()) : 0 ;
        console.log(packprice);
    }else{
        var packprices = !isNaN(parseInt($(".packpriceone" + c[i]).val())) ? parseInt($(".packpriceone" + c[i]).val()) : 0 ;
        console.log(packprices); 
    }
    var ala = parseInt($("#alacartprice").val());
    tprice += packprice + packprices + ala;
}

console.log(tprice);

$("#totalprice").val(tprice);
});


4 commentaires

Obtenir des ans à droite lorsque j'ai cliqué sur la case à cocher extérieure, mais lorsque j'ai vérifié Durée_Status, ce qui est dans si la valeur est doublée.


Nous aurions besoin de plus de contexte pour comprendre ce que vous essayez de mettre en œuvre.


Maintenant, le prix total est devenu correct si la case interne est cochée ou non cochée. Si on n'est pas vérifié à ce moment-là, la valeur est double de la case intérieure


Je ne comprends pas ce que vous voulez dire par case à cocher intérieure, vous n'avez pas partagé le HTML