php中的动态小计

时间:2016-09-20 09:35:46

标签: javascript php dynamic

在我的项目中,我需要制作线的小计(quantite * montant)dynamicali。

目前我在那里:

enter image description here

我希望montant总计自动生成1 * 110,例如直接显示。

我的代码:

<div id="contenu">
  <h2>Renseigner ma fiche de frais du mois <?php echo $numMois."-".$numAnnee ?></h2>

  <form method="POST"  action="index.php?uc=gererFrais&action=validerMajFraisForfait">
  <div class="corpsForm">

      <fieldset>
        <legend>Eléments forfaitisés
        </legend>
<table width=100%>
        <tr>
        <td>Libelle</td>
        <td>Nombre</td>
        <td>Montant unitaire</td>
        <td>Montant total</td>
    </tr>
        <?php
            foreach ($lesFraisForfait as $unFrais)
            {
                $idFrais = $unFrais['idfrais'];
                $libelle = $unFrais['libelle'];
                $quantite = $unFrais['quantite'];
                $montant = $unFrais['montant'];                 
        ?>
    <tr>
        <td><?php echo $libelle ?></td>
        <td><input type="number" id="idFrais" name="lesFrais[<?php echo $idFrais?>]" size="10" min="0" autocomplete="off" maxlength="5" value="<?php echo $quantite?>"  onkeyup="calculer()">
        <td><input type="text" id="montant" value="<?php echo $montant ?>" disabled></td>
    </tr>           
        <?php
            }
        ?>
    </table>           
      </fieldset>
  </div>
  <div class="piedForm">
  <p>
    <input id="ok" type="submit" value="Valider" size="20" />
    <input id="annuler" type="reset" value="Effacer" size="20" />
  </p> 
  </div>        
  </form>  

3 个答案:

答案 0 :(得分:0)

请添加总计td:

<div id="formresult"></div>

答案 1 :(得分:0)

您只需要添加以下第4个TD。

<td><?php echo $quantite*$montant; ?></td>

这应该有效。

答案 2 :(得分:0)

我在这里为你添加了另一个答案。

所以基本上在你的FOREACH循环中你必须创建INCREMENTAL VARIABLE

<?php
            $incr = 1;
            foreach ($lesFraisForfait as $unFrais)
            {
                $idFrais = $unFrais['idfrais'];
                $libelle = $unFrais['libelle'];
                $quantite = $unFrais['quantite'];
                $montant = $unFrais['montant'];

        ?>
    <tr>
        <td><?php echo $libelle ?></td>
        <td><input type="number" id="<?php echo 'idFrais'.$incr; ?>"  size="10" min="0" autocomplete="off" maxlength="5" value="<?php echo $quantite?>"  onkeyup="calculer(this)">
        <td><input type="text" id="<?php echo 'montant'.$incr; ?>" value="<?php echo $montant ?>" disabled></td>
<td id='subtotal<?php echo $incr;?>'><?php echo $quantite*$montant; ?></td>
    </tr>

        <?php
              $incr ++;
            }
        ?>

由于您已经在下面的javascript代码中使用了ONKEYUP ='calculer'。

function calculer( e ){

 var i = e.getAttribute('id').length;
 var input_identifier = e.getAttribute('id').substring(i-1,i);
 var subtotal = document.getElementById('subtotal'+input_identifier)
 var quantity = e.value;
 var montant = document.getElementById('montant'+input_identifier);

 subtotal.textContent = parseInt(quantity) + parseInt(montant.value);

 return;

}

这应该有用。