2012-02-03 6 views
0

J'ai une zone de texte et 2 étiquettes, l'une des étiquettes est «prix» et l'autre est «prix total», ils sont dans l'une des colonnes dans une grille. Le gridview est lié à une table de base de données appelée produit, il montrera une liste de produits et j'ai besoin du javascript pour calculer le prix total en prenant le prix * quantité.javascript pour calculer le prix total?

J'ai essayé le code ci-dessous, mais quand j'entre une valeur dans la zone de texte, l'étiquette pour le prix total change, mais elle affecte chaque ligne, ce qui n'est pas ce que je veux. Comment devrais-je le changer?

$("[id*=txtQuantity]").live("change", function() { 
       if (isNaN(parseInt($(this).val()))) { 
        $(this).val('0'); 
       } else { 
        $(this).val(parseInt($(this).val()).toString()); 
       } 
      }).trigger("change"); 

      $("[id*=txtQuantity]").live("keyup", function() { 
       if (!jQuery.trim($(this).val()) == '') { 
        if (!isNaN(parseFloat($(this).val()))) { 
         var row = $(this).closest("table"); 
         $("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 
        } 
       } else { 
        $(this).val(''); 
       } 

      }).trigger("keyup"); 

Répondre

0

Sans voir le balisage, il est difficile de dire exactement, mais si vous dites que ça change le prix correct, mais affecte trop de lignes, je prendrais un coup d'oeil au sélecteur que vous utilisez ici:

var row = $(this).closest("table"); 
$("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 

la variable row est une table entière, et vous trouvez alors tout où l'ID contient lblTotalCost, il ressemble à ceci revient tous les champs total des coûts dans le tableau, et les mettre à la fois.

Encore une fois sans voir le balisage, il est difficile de conseiller, mais peut-être essayer de changer:

$(this).closest("table"); 

à:

$(this).closest("tr"); 

pour limiter la portée du code après.

+0

merci à côté de cela pouvez-vous aussi m'aider à voir ce lien http://stackoverflow.com/questions/9125460/urgent-help-need-trouble-save-the-image-uploadc je ne peux pas le résoudre, il est urgent pour moi – actKing

Questions connexes