Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

guirimst

Tabela adicionar remover inputs

Recommended Posts

Boa tarde pessoal, estou com seguinte problema, tenho uma tabela que adiciona e remove linhas e além disso ela soma 3 colunas dessas linhas e exibe o resultado da soma de cada coluna e isso ja esta funcionando corretamente, mas meu problema que agora tenho que fazer outros calculos na mesma linha e continuar somando essas 3 colunas, mas agora que acrescentei a função VARIOSCALCULOS não esta funcionando mais, preciso que some cada linha que for inserida e dê resultado nos campos correspondentes e alem disso que continue somando as 3 colunas , se alguem puder me ajudar, agradeço muito, segue o codigo :

 

jquery

$(document).ready(function () {
 
        $(".somaValores").blur(function () {
            calcular();
 
        });
 
        $(".somaPreen, .somaVao, .somaViga").blur(function(){
            variosCalculos();
        });
        
 
    })
 
    var numLinhas = 1;
 
 
    function calcular() {
        var resultados = [0, 0, 0];
        var numero_campo = 0;
 
        $(".somaValores").each(function (indice, item) {
 
            var valor = parseFloat($(item).val());
            if (!isNaN(valor)) {
                resultados[numero_campo] += valor;
            }
            $(".resultados:eq(" + numero_campo + ")").val(resultados[numero_campo]);
 
            numero_campo++;
            if (numero_campo > 2) {
                numero_campo = 0;
            }
 
        });
    }
    
/**
 *Função executa as seguintes condições de calculos:
 *Calculo da quantidade de vigas através do vão dividido pelo valor do preenchimento 
 */
    
    function variosCalculos()
    {
        
 
   
     $('.somaPreen, .somaVao, .somaViga').each(function(){
 
        var doSelect     = $(".somaPreen").val();
        var doInputVao   = $(".somaVao").val();
        var doInputViga  = $(".somaViga").val();
 
        //Calculo do vao pelo valor do preenchimento para saber quantidade de vigas
        var resultado  = parseFloat(doInputVao) / parseFloat(doSelect);
        
        divisaoFinal   = resultado <= 0.5 ? resultadoFinal = resultado : resultadoFinal = resultado + 1;
                        
        $(".totalVigas").val(divisaoFinal.toFixed(1));
        
        // //Calculo vao , viga e preenchimento para saber quantidade de preenchimento
        var calculoFinal = ( parseFloat(doInputVao) * parseFloat(doInputViga) ) * ( 1 / parseFloat(doSelect) );
        
        $(".totalPreen").val(calculoFinal.toFixed(1));
        
        //Calculo vao e viga para saber m²
        
        var mQuadrado = parseFloat(doInputVao) * parseFloat(doInputViga);
        
        $(".totalMquadrado").val(mQuadrado.toFixed(1));
 
         });
    }
    
 
    function removerLinha(linha) {
        var linhaSelecionada = $("#linha" + $(linha).attr("id"));
        linhaSelecionada.remove();
        numLinhas -=1;
        calcular();
    }
 
    function addlinha() {
        numLinhas +=1;
        $("#products-table").append('<tr id="linhaL'+numLinhas+'">\n\
                                     <td><select  class="form-control input-sm somaPreen" name="selPreenchimento[]">\n\
                                         <option value="" selected="selected ">Selecione preenchimento</option>\n\
                                         <option value="0.48">EPS 36cm</option>\n\
                                         <option value="0.42">EPS 30cm</option>\n\
                                         <option value="0.40">CERAMICA FERRARI</option>\n\
                                         <option value="0.40">CERAMICA SCOPEL</option>\n\
                                         <option value="0.42">CERAMICA GATTO</option>\n\
                                         </select>\n\
                                        </td>\n\
                                        <td><input type="text" size="8" name="txtLaje[]"/></td>\n\
                                        <td><input type="text" size="8" class="somaViga" name="txtViga[]"/></td>\n\
                                        <td><input type="text" size="8" class="somaVao" onblur="variosCalculos()" name="txtVao[]"/></td>\n\
                                        <td><input type="text" size="8" class="somaValores totalVigas" name="txtQtdViga[]" disabled/></td>\n\
                                        <td><input type="text" size="8" class="somaValores" name="txtQtdVigaM[]" placeholder="Ex.: 0.0"/></td>\n\
                                        <td><input type="text" size="8" class="somaValores totalPreen" name="txtPreen[]"/></td>\n\
                                        <td><input type="text" size="8" class="" name="txtPreenM[]"/></td>\n\
                                        <td><input type="text" size="8" class="totalMquadrado" name="txtM2[]" disabled/></td>\n\
                                     <td class="actions"><button class="btn btn-large btn-danger" id="L'+numLinhas+'" onclick="removerLinha(this)">Remover</button></td></tr>');
 
        calcular();
    }

 

 

 

 

html

  <table id="products-table" class="table table-hover table-bordered">
<tbody>
<tr>
 <th>Preenchimento</th>
 <th>Laje</th>
 <th>Viga</th>
 <th>Vão</th>
 <th>QT VG</th>
 <th>QT VG+</th>
 <th>PREEN</th>
 <th>PREEN+</th>
 <th>M2</th>
 <th class="actions">Ações</th>
</tr>
<tr id="linhaL1">
        <td><select class="form-control input-sm somaPreen" name='selPreenchimento[]' >
           <option value='' selected='selected' >Selecione preenchimento</option>
           <option value='0.48'>EPS 36cm</option>
           <option value='0.42'>EPS 30cm</option>
           <option value='0.40'>CERAMICA FERRARI</option>
           <option value='0.40'>CERAMICA SCOPEL</option>
           <option value='0.42'>CERAMICA GATTO</option>
            </select>
        </td>
 <td><input type="text" size="8" name="txtLaje[]"/></td>
 <td><input type="text" size="8" class="somaViga" name="txtViga[]"/></td>
 <td><input type="text" size="8" class="somaVao" onblur="variosCalculos()" name="txtVao[]"/></td>
 <td><input type="text" size="8" class="somaValores totalVigas" name="txtQtdViga[]" disabled/></td>
 <td><input type="text" size="8" class="somaValores" name="txtQtdVigaM[]" placeholder="Ex.: 0.0"/></td>
 <td><input type="text" size="8" class="somaValores totalPreen" name="txtPreen[]"/></td>
 <td><input type="text" size="8" class="" name="txtPreenM[]"/></td>
 <td><input type="text" size="8" class="totalMquadrado" name="txtM2[]" disabled/></td>
 <td class="actions">
<button class="btn btn-large btn-danger" id="L1" onclick="removerLinha(this)" type="button">Remover</button>
 </td>
           
</tr> 
</tbody>
                        <tfoot>
                            <tr>
 <td> </td>
 <td> </td>
 <td> </td>
 <td><span class='label label-warning'>  <b>TOTAL:</b>  </span></td>
 <td><input type="text" size="8" class="resultados" name="txtResultado1" disabled /></td>
 <td><input type="text" size="8" class="resultados" name="txtResultado2" disabled/></td>
 <td><input type="text"size="8"  class="resultados" name="txtResultado3"  disabled/></td>
 <td> </td>
          <td> </td>
</tr>
        <tr>
            <td colspan="7" style="text-align: left;">
                <button class="btn btn-large btn-primary" onclick="addlinha(this)" type="button">Adicionar linha</button>
            </td>
        </tr>
    </tfoot>
 </table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.