Extraire les données de plusieurs zones de saisie à l'aide de la boucle foreach de Jquery
P粉278379495
2023-08-31 19:09:32
<p>Je crée une commande pour un projet. J'utilise une boucle Foreach pour extraire les données de la base de données dans une table que j'ai créée. Cependant, lorsque je multiplie les données de quantité et de prix unitaire, le code ne fonctionne que pour les données de la première ligne du tableau. Comment puis-je modifier ce code pour toutes les données de boucle entrantes ? </p>
<p>Panier.php : </p>
<pre class="brush:php;toolbar:false;"><form action="" méthode="POST">
<table class="table table-sm mb-3 text-center align-middle">
<tête>
<tr>
<th>Nom du produit</th>
<th>Quantité</th>
<th>Prix unitaire</th>
<th>Prix total</th>
≪/tr>
≪/tête>
<corps>
<?php foreach($ProductTbl as $productdata){ ?>
<tr>
<td><?= $productdata->productname ?></td>
<td><classe d'entrée="quantité du centre de texte w-25" type="texte" nom="quantité[]" valeur="0"></td>
<td><input class="w-25 text-center unitprice" type="text" name="unitprice[]" value="<?= $productdata->unitprice ?> ;" désactivé = " désactivé "></td>
<td><input class="w-25 text-center prix total" type="text" nom="prix total[]" ;/td>
≪/tr>
<?php } ?>
</tcorps>
</table></pre>
<p>Code Javascript : </p>
<pre class="brush:php;toolbar:false;">$(document).ready(function() {
$('.quantity').keyup(function() {
var quantité = $('.quantity').val();
var prix unitaire = $('.unitprice').val();
var prix total = $('.prix total').val();
var résultat = quantité * prix unitaire ;
$('.prixtotal').val(result);
});
});
});</pré>
<p>Imprimer :
Image</p>
<p>Comment puis-je modifier le code pour qu'il s'exécute sur toutes les lignes ? </p>
Vous avez spécifié
class
,而不是id
。这意味着您无法轻松地区分它们。但是,通过一些巧妙的 JQuery 代码,您可以识别数量发生更改的表行,然后获取quantity
和unitprice
pour l'entrée et définiprix total 代码> :
Donc ici, nous obtenons la quantité saisie
$(this)
,并获取父级两次:首先是
,然后是
。我们将其存储在tableRow
$(this), et obtenons le parent deux fois : d'abordpour accéder à l'entrée. 一个>Pour un exemple de code, veuillez consulter :
https://codepen.io/kikosoft/pen/oNMjqLd🎜🎜