Ir para conteúdo

POWERED BY:

Arquivado

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

nathan@silva

Multiplicar value de um select

Recommended Posts

Oi gente, to prescisando de uma ajuda, to tentando montar um sistema orçamento para uma vidraçaria e eu quero que o cliente digite a base e a altura para o javascript descobrir a area, e a area e multiplicada pelo value do select e assim da o resultado em reais.

Mais so que nao to conseguindo o resultado em reais, VeJaM ae:

<html>
<head>
<script type="text/javascript">
String.prototype.formatMoney = function() {
    var v = this;

    if(v.indexOf('.') === -1) {
        v = v.replace(/([\d]+)/, "$1,00");
    }

    v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20");
    v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2");
    v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3");

    return v;
};
function id( el ){
    return document.getElementById( el );
}
function getMoney( el ){
    var money = id( el ).value.replace( ',', '.' );
    return parseFloat( money )*100;
}
function soma()
{
    var total = getMoney('campo1')*getMoney('campo2')*getMoney(campo3);
    id('campo4').value = 'R$ '+ String(total/100).formatMoney();
}
</script>
</head>
<body>
    <form action="" method="">
        <input name="campo1" id="campo1" /><br />
        <input name="campo2" id="campo2" /><br />
         <select name="campo3" id="campo3">
    <option value="284,90">Box 1,00ml Incolor</option>
    <option value="290,85">Box 1,05ml Incolor</option>
    <option value="297,00">Box 1,10ml Incolor</option>
    <option value="304,00">Box 1,15ml Incolor</option>
    <option value="315,00">Box 1,20ml Incolor</option>
    <option value="321,00">Box 1,25ml Incolor</option>
    <option value="327,00">Box 1,30ml Incolor</option>
    <option value="341,00">Box 1,35ml Incolor</option>
    <option value="347,00">Box 1,40ml Incolor</option>
    <option value="354,00">Box 1,45ml Incolor</option>
    <option value="360,00">Box 1,50ml Incolor</option>
    <option value="365,60">Box 1,55ml Incolor</option>
    <option value="372,00">Box 1,60ml Incolor</option>
    <option value="421,00">Box 1,65ml 3 Peças Incolor</option>
    <option value="427,00">Box 1,70ml 3 Peças Incolor</option>
    <option value="434,00">Box 1,75ml 3 Peças Incolor</option>
    <option value="440,00">Box 1,80ml 3 Peças Incolor</option>
    <option value="446,00">Box 1,85ml 3 Peças Incolor</option>
    <option value="452,00">Box 1,90ml 3 Peças Incolor</option>
    <option value="465,00">Box 2,00ml 3 Peças Incolor</option>
  </select><br />
       <input name="campo4" readonly="readonly" id="campo4" /><br />
        <input type="button" onclick="soma()" value="Soma de Valores" />
    </form>
</body>
</html>

Me ajudem, que eu faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dei uma olhada rapida no seu codigo mas o erro parece estar nesta parte do codigo

function soma()
{
var total = getMoney('campo1')*getMoney('campo2')*getMoney(campo3); //nesta linha
id('campo4').value = 'R$ '+ String(total/100).formatMoney();
}

correção:

var total = getMoney('campo1')*getMoney('campo2')*getMoney('campo3');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como ficou o script completo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites


<html>

<head>

<script type="text/javascript">

String.prototype.formatMoney = function() {

var v = this;

 

if(v.indexOf('.') === -1) {

v = v.replace(/([\d]+)/, "$1,00");

}

 

v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20");

v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2");

v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3");

 

return v;

};

function id( el ){

return document.getElementById( el );

}

function getMoney( el ){

var money = id( el ).value.replace( ',', '.' );

return parseFloat( money )*100;

}

function soma()

{

var total = getMoney('campo1')*getMoney('campo2')*getMoney('campo3');

id('campo4').value = 'R$ '+ String(total/100).formatMoney();

}

</script>

</head>

<body>

<form action="" method="">

<input name="campo1" id="campo1" /><br />

<input name="campo2" id="campo2" /><br />

<select name="campo3" id="campo3">

<option value="284,90">Box 1,00ml Incolor</option>

<option value="290,85">Box 1,05ml Incolor</option>

<option value="297,00">Box 1,10ml Incolor</option>

<option value="304,00">Box 1,15ml Incolor</option>

<option value="315,00">Box 1,20ml Incolor</option>

<option value="321,00">Box 1,25ml Incolor</option>

<option value="327,00">Box 1,30ml Incolor</option>

<option value="341,00">Box 1,35ml Incolor</option>

<option value="347,00">Box 1,40ml Incolor</option>

<option value="354,00">Box 1,45ml Incolor</option>

<option value="360,00">Box 1,50ml Incolor</option>

<option value="365,60">Box 1,55ml Incolor</option>

<option value="372,00">Box 1,60ml Incolor</option>

<option value="421,00">Box 1,65ml 3 Peças Incolor</option>

<option value="427,00">Box 1,70ml 3 Peças Incolor</option>

<option value="434,00">Box 1,75ml 3 Peças Incolor</option>

<option value="440,00">Box 1,80ml 3 Peças Incolor</option>

<option value="446,00">Box 1,85ml 3 Peças Incolor</option>

<option value="452,00">Box 1,90ml 3 Peças Incolor</option>

<option value="465,00">Box 2,00ml 3 Peças Incolor</option>

</select><br />

<input name="campo4" readonly="readonly" id="campo4" /><br />

<input type="button" onclick="soma()" value="Soma de Valores" />

</form>

</body>

</html>

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.