À l'aide d'un nom de classe dans jQuery .plus proche (le)

Je suis d'essayer de faire quelques calculs pour un "total", c'est mon code:

$('.quantity_input').live('change',function(){         
                var ValOne = parseFloat($(this).val());
                var ValTwo = parseFloat($(".price").text())
                var totalTotal = ((ValOne) * (ValTwo));                         
                $('.cost_of_items').closest('.cost_of_items').text(totalTotal.toFixed(2));
                calcTotal();
            });     

.quantity_input est une entrée, .le prix est le prix du produit, .cost_of_items est l'endroit où je veux mettre à jour le coût total pour l'article, c'est à dire. item1 = £5 x 3 quantité = £15 total pour item1
calcTotal() est une fonction qui met à jour un coût total de la commande. Le problème est de garder toutes les mathématiques dans une ligne de la table, c'est à dire que je suis en train de faire le calc dans le code ci-dessus et sa ne colle pas à sa ligne, sa mise à jour tous les champs de la classe .cost_of_items etc...

le problème avec la montre mon code html, c'est que sa dynamique ajouté par jQuery .ajoute (), mais ici est le jQuery:

$('#items').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td class="om_part_no">' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td class="description">' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td><p class="add_edit">Add/Edit</p><input type="text" class="quantity_input" name="quantity_input" /></td><td class="price_each_nett price">' + priceEach + '</td><td class="cost_of_items"></td><td><p class="add_edit">Add/Edit</p><input type="text" class="project_ref_input" name="project_ref_input" /><p class="project_ref"></p></td></tr>');

EDIT:

Solution de travail:

$('.quantity_input').live('change',function(){         
                var ValOne = parseFloat($(this).val());
                var ValTwo = parseFloat($(this).closest('tr').find('.price').text())
                var totalTotal = ((ValOne) * (ValTwo));                         
                $(this).closest('tr').find('.cost_of_items').text(totalTotal.toFixed(2));
                calcTotal();
            });     
  • La ligne ici, qui ressemble de mal, c'est $('.cost_of_items').closest('.cost_of_items'). Pourriez-vous nous montrer votre HTML ainsi?
  • Tous les parenthèses ((ValOne) * (ValTwo)) ne font absolument rien.
  • Il vous manque une fermeture </td> balise dans votre .append().
InformationsquelleAutor benhowdle89 | 2010-11-04