Jump to content

Cálculo entre inputs vindo do banco de dados jQuery


lgbruno

Postagens Recomendadas

Tenho esse código que pega o valor digitado da distancia no input faz um calculo e envia pro input de preço e caso tenha algum valor no desconto abate do valor do preço. qnd faço o envio pro banco funciona perfeitamente. porem qnd retorno esses dados para alteração não funciona e o campo de preço ao tentar modificar os valores aparece "NaN" (Not a Number).

Não tenho noção de jQuery e JavaScript tentei de diversas formas. Acredito que algo simples como resetar as informações do input ao iniciar novo digito poderia ser o caminho, mas por não conhecer os códigos para isso, fiquei meio perdido.

Alguém poderia me ajudar nessa questão?

 

jQuery(document).ready(function(){
 	jQuery('input').on('keyup',function(){
		if(jQuery(this).attr('name') === 'preco'){
			return false;
		}
		  
	var distancia = (jQuery('#distancia').val() == '' ? 0 : jQuery('#distancia').val()); /* recebe o valor com ponto do input */
	var desconto = ((jQuery('#desconto').val().replace(',','.')) == '' ? 0 : (jQuery('#desconto').val().replace(',','.'))); /* converte o valor recebido com virgula em ponto */
			
	var preco = ((parseFloat(distancia) * 1.20) - parseFloat(desconto)); /* arredonda o valor a duas casas apos a virgula */ /* valor de 1.20 escolhido como preco por km */
	var preco = preco.toFixed(2).replace('.',','); /* converte o valor com ponto para virgula na exibicao do input */
			
	jQuery('#preco').val(preco); /* envia para o input */
	});
});

 

<fieldset>
	<legend>Distancia </legend>
	<input type="text" name="distancia" value="<?php echo $row["distancia_pedido"];?>" onkeypress="$(this).mask('##0.0', {reverse: true});">Km
</fieldset>
<fieldset>
	<legend>Desconto</legend>
	<input type="text" name="desconto" id="desconto" onkeypress="$(this).mask('#.##0,00', {reverse: true});" value="<?php echo number_format($row["desconto_pedido"], 2, ',', '.');?>" required>
</fieldset>
<fieldset>
	<legend>Preço</legend>
	<input type="text" name="preco" id="preco" onkeypress="$(this).mask('#.##0,00', {reverse: true});" value="<?php echo number_format($row["preco_pedido"], 2, ',', '.');?>" required>
</fieldset>

 

Link to comment
Compartilhe em outros sites

  • Douglas Garcia mudou o título para Cálculo entre inputs vindo do banco de dados jQuery

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...