Расчет в foreach php с jquery


Хотел бы знать, если это возможно выполнение расчетов в режиме реального времени с jquery внутри foreach в php и как? это мой код:

<?php
            $Read = new Read;
            $Read->ExeRead("c100web", "WHERE codclient = :client", "client={$Clie}");
            if (!$Read->getResult()):
                VARErro("Não á registros na lista, cadastre os produtos!", INFOR);
            else:
                foreach ($Read->getResult() as $Pedidos):
                    extract($Pedidos);
                    $Style = "";
                    $ReadProd = new Read;
                    $ReadProd->ExeRead("c007prod", "WHERE codigo = :cod", "cod={$codpro}");
                    if ($ReadProd->getResult()):
                        $Nome = $ReadProd->getResult()[0]['descricao'];
                        $PrecoUni = $ReadProd->getResult()[0]['preco_venda'];
                    endif;
                    ?>
                    <tr> 
                        <td><?= $Nome; ?></td>
                        <td><input disabled=""  type="text" name="vlruni" id="vlruni" value="<?= $PrecoUni; ?>"/></td>
                        <td><input type="number"  name="qnt[]" id="qnt" value="<?= $qntpro; ?>"/></td>
                        <td><input disabled="" type="text" name="vlrtl" id="vlrtl"/></td>
                    </tr>
                    <tr><td colspan="4" style="padding: 4px; background-color: #ccc;"></td></tr>

                    <?php
                endforeach;
                ?>
                    <tr>
                     <td colspan="3">Valor total do pedido:</td>
                     <td><input disabled="" type="text" name="vlrlist" id="vlrlist"/></td>
                    </tr>
            <?php
            endif;
            ?>

- Это в основном так: vlruni * qnt = vlrtl и vlrtl + vlrtl + vlrtl.... = vlrlist, это возможно?... спасибо!

HTML:

<tr> 
                        <td>ACUCAR MASCAVO FAVINHO 500G</td>
                        <td><input disabled=""  type="text" name="vlruni" id="vlruni" value="4.6"/></td>
                        <td><input type="number"  name="qnt[]" id="qnt" value="12"/></td>
                        <td><input disabled="" type="text" name="vlrtl" id="vlrtl"/></td>
                    </tr>
                    <tr><td colspan="4" style="padding: 4px; background-color: #ccc;"></td></tr>

                                            <tr> 
                        <td>ACUCAR MASCAVO FAVINHO 1K</td>
                        <td><input disabled=""  type="text" name="vlruni" id="vlruni" value="7.7"/></td>
                        <td><input type="number"  name="qnt[]" id="qnt" value="10"/></td>
                        <td><input disabled="" type="text" name="vlrtl" id="vlrtl"/></td>
                    </tr>
                    <tr><td colspan="4" style="padding: 4px; background-color: #ccc;"></td></tr>

                                            <tr> 
                        <td>AMENDOIM AMENDUPÃ C/ CASCA 280G</td>
                        <td><input disabled=""  type="text" name="vlruni" id="vlruni" value="2.7"/></td>
                        <td><input type="number"  name="qnt[]" id="qnt" value="5"/></td>
                        <td><input disabled="" type="text" name="vlrtl" id="vlrtl"/></td>
                    </tr>
                    <tr><td colspan="4" style="padding: 4px; background-color: #ccc;"></td></tr>
Author: JASL, 2017-06-22

1 answers

В Этом случае вы должны использовать Javascript, если вы используете Jquery:

Вызывает функцию при вводе, класс, переводе в поле "количество":

$( ".class_qtd" ).blur(function() {
 SomaTotalProduto();
});

Для работы этой функции в id inputs вы должны поместить код + 0 индекс: Пример:

<tr class="linha_produto">
 <td><input type="text" class="class_qtd"id="campo_quantidade_produto1"></td>
 <td><input type="text" id="campo_valor_produto1"></td>
</tr>
<tr class="linha_produto">
 <td><input type="text"  class="class_qtd" id="campo_quantidade_produto2"></td>
 <td><input type="text" id="campo_valor_produto2"></td>
</tr>

function SomaTotalProduto(){   
var nlinha =  $(".linha_produto").length; // coloca essa classe no <tr>

for (var i = 1; i <= nlinha; i++) {    
 valor    = $('#campo_valor_produto' + i).val();    
 qtdeprod = $('#campo_quantidade_produto'+ i).val();

 // VALOR TOTAIS PRODUTO
 total = '0';
 total = (valor * qtdeprod);
 $('#campo_valor_total' + i).val('').val(total);
} 
 0
Author: HENRIQUE LOBO, 2017-06-23 13:33:21