Jump to content

lgbruno

Members
  • Content count

    17
  • Joined

  • Last visited

Community Reputation

0 Comum

About lgbruno

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Queria saber se tem uma forma de ao escolher um item no select meu formulario mudar de acordo com a opção para cadastro dos itens, teram os mesmo campos so vai mudar o nome da descrição dos campos no formulario. alguem poderia me ajudar ?
  2. isso o valor dos equipamentos vao alterando de acordo com a quantidade e respectivamente os impostos e royallties sao acrescentados ao valor final .. sendo que em algumas ocasioes tera gasto de transporte e esse valor o usuario ira digitar qt gastara de transporte se tiver vai ser acrescentado ao valor final se nao tiver permanece como esta, ja o desconto tb sera digitado pelo usuario caso queira dar um desconto se tiver sera um valor a ser diminuido no valor final se nao permanece como esta. mas nos outros campos os valores eram ja definidos nao digitava, nesse dois precisa ser pego ao digitar, eu nao conheço javascript mt bem entao nao sei como fazer, se puder dar uma ajuda .
  3. Amigo se puder me ajudar novamente, fiz umas alteracoes e consegui incluir no valor total royallties e imposto sobre o valor final me mostrando o valor de cada um nos campos, mais eu tenho mais dois ultimos campos que o usuario interagiria em tempo real, de transporte e de desconto, como faria pra conseguir pegar esses valores em tempos real e ja mostrar no meu valor final? segue o codigo modificado: PARTE DO SCRIPT: <script type="text/javascript"> $(function () { function removeCampo() { $(".removerCampo").unbind("click"); $(".removerCampo").bind("click", function () { if($("tr.linhas").length > 1){ $(this).parent().parent().remove(); } }); } $(".adicionarCampo").click(function () { novoCampo = $("tr.linhas:first").clone(); novoCampo.find("input").val(""); novoCampo.find("input#qnt").val('1'); novoCampo.find("input#total").val('R$ 0.00'); novoCampo.find("input#royallties").val('R$ 0.00'); novoCampo.find("input#imposto").val('R$ 0.00'); novoCampo.find("input#transporte").val('R$ 0.00'); novoCampo.find("input#desconto").val('0.00 %'); novoCampo.find("input#valorfinal").val('R$ 0.00'); novoCampo.insertAfter("tr.linhas:last"); removeCampo(); }); }); </script> <script type="text/javascript"> function listanome(elemento){ var nome = elemento.value; var cell_valor = elemento.parentElement.parentElement.querySelector('.resultado2'); var cell_total = elemento.parentElement.parentElement.querySelector('td > input#total'); var cell_royallties = elemento.parentElement.parentElement.querySelector('td > input#royallties'); var cell_imposto = elemento.parentElement.parentElement.querySelector('td > input#imposto'); var cell_valorfinal = elemento.parentElement.parentElement.querySelector('td > input#valorfinal'); var qnt = elemento.parentElement.parentElement.querySelector('td > input#qnt').value; qnt = (qnt != '')? parseInt(qnt): 0; var nome = elemento.value; var cell = elemento.parentElement.nextElementSibling.nextElementSibling; $(document).on('change', 'input#qnt', function(){ var qnt = $(this).val(); qnt = (qnt != '')? parseInt(qnt): 0; var valor = $(this).parents('td').siblings().children('input#valor_unitario').val(); valor = parseFloat(valor.replace("R$","").replace(",",".")); var cell_total = $(this).parents('td').siblings().children('input#total'); var total = (qnt * valor); var cell_royallties = $(this).parents('td').siblings().children('input#royallties'); var royallties = (total * 11.62)/100; var cell_imposto = $(this).parents('td').siblings().children('input#imposto'); var imposto = (total * 4.65)/100; var cell_valorfinal = $(this).parents('td').siblings().children('input#valorfinal'); var valorfinal = total + royallties + imposto; cell_total.val("R$ " + total.toFixed(2).replace(".",",")); cell_royallties.val("R$ " + royallties.toFixed(2).replace(".",",")); cell_imposto.val("R$ " + imposto.toFixed(2).replace(".",",")); cell_valorfinal.val("R$ " + valorfinal.toFixed(2).replace(".",",")); }); if(nome != ''){ var dados = { listanome : nome } $.post('../BUSCAR_BANCO/busca_preco.php', dados, function(retorna){ cell_valor.innerHTML = retorna; var value = elemento.parentElement.parentElement.querySelector('td > input#valor_unitario').value; var valor = parseFloat(value.replace("R$","").replace(",",".")); var total = parseInt(qnt) * parseFloat(valor); var royallties = (parseFloat(total) * 11.62)/100; var imposto = (parseFloat(total) * 4.65)/100; var valorfinal = parseFloat(total) + parseFloat(royallties) + parseFloat(imposto); cell_total.value = "R$ " + total.toFixed(2); cell_royallties.value = "R$ " + royallties.toFixed(2); cell_imposto.value = "R$ " + imposto.toFixed(2); cell_valorfinal.value = "R$ " + valorfinal.toFixed(2); }); }else{ alert("Sem Equipamento Selecionado"); } } </script> PARTE DO HTML: <tr class="linhas"> <td colspan="4"> <select style="width:355px;" name="descricao[]" id="nome" onchange="listanome(this)"> <option value="">Selecione..</option> <?php include_once '../conexaobancodedados.php'; $sql = "select * from tabelapreco left outer join unidades on unidades.id_unidade = tabelapreco.id_unidade order by `nome_tabela`"; $result= mysql_query($sql,$con); if(@mysql_num_rows($result)>0){ while($row = mysql_fetch_array($result)){ ?> <option value="<?php echo $row["id_tabela"];?>"><?php echo $row["nome_tabela"];?> (<?php echo $row["nome_unidade"];?>)</option> <?php } }else{ ?> <option value="">Sem Cadastro de Equipamento</option> <?php } ?> </select> </td> <td><input type="number" value="1" min="1" style="width:50px;text-align: center;" size="1" name="qtd[]" id="qnt"></td> <td class="resultado2"><input size="10" value="R$ 0.00" readonly="true" style="text-align: center;background-color:#cccccc;color:black;"></td> <td><input type="text" size="10" name="valortotal[]" value="R$ 0.00" style="text-align: center;" id="total" onKeyPress="return(MascaraMoeda(this,'.',',',event))"></td> <td><input type="text" size="10" name="royallties[]" id="royallties" value="R$ 0.00" onKeyPress="return(MascaraMoeda(this,'.',',',event))" readonly="true" style="background-color:#cccccc;color:black;text-align: center;"></td> <td><input type="text" size="6" name="imposto[]" id="imposto" value="R$ 0.00" onKeyPress="return(MascaraMoeda(this,'.',',',event))" readonly="true" style="background-color:#cccccc;color:black;text-align: center;"></td> <td><input size="16" name="transporte[]" id="transporte" value="R$ 0.00" style="text-align: center;" onKeyPress="return(MascaraMoeda(this,'.',',',event))"></td> <td><input size="11" name="desconto[]" id="desconto" value="0.00 %" style="text-align: center;" onKeyPress="return(MascaraMoeda(this,'.',',',event))"></td> <td><input size="16" name="valorfinal[]" id="valorfinal" value="R$ 0.00" style="text-align: center;" onKeyPress="return(MascaraMoeda(this,'.',',',event))"></td> <td><a href="#" class="removerCampo" title="Remover linha"><input type="button" name="Excluir" style="width:70px;background-color:red;"></a></td> </tr> </tbody> <tfoot> <tr> <td colspan="13"> <center><a href="#" class="adicionarCampo" title="Adicionar item"><input type="button" name="adicionar" value="Adicionar"></a></center> </td> </tr> </tfoot>
  4. PERFEITO, FINALMENTE FECHEI .. VLW MESMO CARA.. você SACA MT.. OBRIGADO, VOU AJUSTAR AGORA AO RESTANTE DAS COISAS QUE PRECISO MAIS SO EM ENTENDER OS COMANDOS JA TA SHOW PRA FAZER!!
  5. Ele aponta pro input que vem com valor do banco so descreve ela no alert <input size="10" name="preco[]" id="valor_unitario" value="R$ <?php echo $res['preco_tabela'];?>" onKeyPress="return(MascaraMoeda(this,'.',',',event))" readonly="true" style="background-color:#cccccc;color:black;text-align: center">
  6. Quando seleciona puxa o valor normal e o qtd ja ta definido 1, e ai ja puxa na hora tb o resultado do calculo, no valor total so que ele aparece como R$ NaN.. no banco o campo que receber o valor unitario ta como decimal(10,2) faz alguma diferenca pra esse script?
  7. parece que em algum ponto ele nao ta reconhecendo como numero, esta dando resultado como NaN..
  8. pode ser em cima desse proprio script que me mostrou function listanome(elemento){ var nome = elemento.value; var cell = elemento.parentElement.nextElementSibling.nextElementSibling; if(nome != ''){ var dados = { listanome : nome } $.post('../BUSCAR_BANCO/busca_preco.php', dados, function(retorna){ cell.innerHTML = retorna; }); }else{ alert("Sem Equipamento Selecionado"); } } na pratica e visto como esta na imagem enviada, a diferenca foi que inserir no codigo um busca pra royallties e pra imposto, mas isso eu adapto dps o calculo seria mesmo nos campos qtd que o usuario digita o valor unitario que vem do banco de acordo com o que e selecionado e o valor que e o calculo final
  9. show, a primeira forma conseguir fazer funcionar ate mesmo trazendo outros valores, entendi como funcionava a logica dos comandos e ai fui fazendo adaptacoes. eu tava pensando aqui, se conseguiria a partir disso ja fazer o calculo nas outras td tem aquela td que retorna o valor <td class="resultado2"></td> e tem as outras td que so sao replicadas ao adicionar entre elas tem <td><input type="number" style="width:50px;text-align: center;" size="1" name="qtd[]" id="qnt"></td> <td><input size="10" name="valortotal[]" style="text-align: center;" id="total" onKeyPress="return(MascaraMoeda(this,'.',',',event))"></td> pegar o resultado que vem do banco na td class resultado2 e de acordo com a quantidade que fosse inserida pelo usuario na td qtd ele ja dar o valor total na td total .
  10. PERFEITO, AGRADEÇO DEMAIS PELA AJUDA, SO FALTAVA ISSO PRA FECHAR. SE PUDER ME INDICA UM BOM LIVRO OU MATERIAL DE ESTUDO PRA JAVASCRIPT E MEU FRACO, TENHO MAIS FACILIDADE EM PHP, MAS QUERO APRENDER TODAS QUE PUDER, TO QUERENDO TENTAR UM PROJETO GRANDE MAIS QUERO TA PREPARADO NAS LINGUAGENS EM GERAL. RESOLVIDO !! VALEU!!
  11. acredito ser em funcao do retorno, pq o retorno vem na: <td class="retorno2"></td> conforme adiciona um novo campo continua com o mesmo nome pra class e ele vai jogando o valor do ultimo que consulto em todos eles. alguma ideia do que fazer ?
  12. com seu exemplo ele pega o value mais ao adicionar outra linha e selecionar outro item ele puxa o valor mais altera o da linha anterior pro mesmo valor. no select digamos que eu tenha(sendo que podem ser 3 ou varios vem do banco): Paquimetro Micrometro Lupa no banco eu tenha uma tabela de preço onde eu tenha (3 ou varios vem do banco): Paquimetro vale 30,00 Micrometro vale 20,00 Lupa vale 45,00 3 equipamentos diferentes com ids diferentes, quando eu seleciono um Equipamento no select ele envia a id desse equipamento para consulta no banco na tabela de preço o valor referente a aquele equipamento e me traz o valor em um input nessa linha. Quando clico no Botao adicionar que ele me cria mais uma linha e eu seleciono no novo select e escolho outro equipamento ele faz o msm e traz o valor do equipamento, porem ele modifica o valor da linha anterior e fica os dois com mesmo valor. Exemplo selecionei paquimetro trouxe 30,00 selecionei micrometro trouxe 20,00 so que ai ao trazer os 20,00 do micrometro ele altera o valor do paquimetro da linha de cima pra 20,00 tbm. =/
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.