JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://blackrockdigital.github.io/startbootstrap-sb-admin-2/vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="https://plentz.github.io/jquery-maskmoney/javascripts/jquery.maskMoney.min.js"></script>
<form name="pedido" id="pedido" method="post" enctype="multipart/form-data" action="includes/enviar_pedido.php">
<div class="row">
<div class="form-group col-md-6">
<input type="text" name="nome" class="form-control" id="nome" placeholder="Nome" tabindex="1"/>
</div>
<div class="form-group col-md-6">
<input type="text" name="sobrenome" class="form-control" id="sobrenome" placeholder="Sobrenome" tabindex="2"/>
</div>
<div class="form-group col-md-6">
<input type="text" name="telefone" class="form-control telefone" id="telefone" placeholder="Telefone/ Celular" maxlength="15" tabindex="3">
</div>
<div class="form-group col-md-6">
<input type="text" name="email" class="form-control" id="email" placeholder="E-mail" tabindex="4"/>
</div>
<div class="form-group col-md-6">
<div class="form_select_config">
<select name="estado" tabindex="5" style="background-color: #FFFFFF;">
<option value="">Selecione o estado</option>
<option value="01">Acre</option><option value="02">Alagoas</option><option value="04">Amapá</option><option value="03">Amazonas</option><option value="05">Bahia</option><option value="06">Ceará</option><option value="07">Distrito Federal</option><option value="08">Espírito Santo</option><option value="09">Goiás</option><option value="10">Maranhão</option><option value="13">Mato Grosso</option><option value="12">Mato Grosso do Sul</option><option value="11">Minas Gerais</option><option value="14">Pará</option><option value="15">Paraíba</option><option value="18">Paraná</option><option value="16">Pernambuco</option><option value="17">Piauí</option><option value="19">Rio de...
CSS
.pedido_desktop,
.nome_desktop {
display: block;
}
.pedido_smartphone,
.nome_smartphone {
display: none;
}
@media (min-width: 992px) and (max-width: 1199px) {}
@media (min-width: 769px) and (max-width: 991px) {}
@media (min-width: 481px) and (max-width: 768px) {
.pedido_desktop,
.nome_desktop {
display: none;
}
.pedido_smartphone,
.nome_smartphone {
display: block;
}
}
@media only screen and (max-width: 480px) {
.pedido_desktop,
.nome_desktop {
display: none;
}
.pedido_smartphone,
.nome_smartphone {
display: block;
}
}
JavaScript
$(".real").maskMoney({
prefix: 'R$ ',
thousands: '.',
decimal: ',',
affixesStay: true
});
function rePlace(i) {
return parseFloat(i.replace(/[^\d.,]/g, "").replace('.', '').replace(',', '.'));
}
Number.prototype.formataReal = function(c, d, t) {
var n = this,
c = isNaN(c = Math.abs(c)) ? 2 : c,
d = d == undefined ? "," : d,
t = t == undefined ? "." : t,
s = n < 0 ? "-" : "",
i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
//any time the amount changes
$(document).ready(function() {
$('.qtde_orc, .valor_orc').change(function(e) {
var valor_total_orc = 0;
var $row = $(this).parent();
var valor_orc = rePlace($row.find('.valor_orc').val());
var qtde_orc = $row.find('.qtde_orc').val();
valor_total_orc = parseFloat(valor_orc * qtde_orc);
//update the row total
$row.find('.valor_total_orc').val('R$ ' + (valor_total_orc).formataReal(2, ',', '.'));
var total_geral = 0;
$('.valor_total_orc').each(function() {
//Get the value
var tg = rePlace($(this).val());
//if it's a number add it to the total
if (IsNumeric(tg)) {
total_geral += parseFloat(tg);
}
});
$('.total_geral').val('R$ ' + (total_geral).formataReal(2, ',', '.'));
});
});
function IsNumeric(input) {
return !isNaN(parseFloat(input)) && isFinite(input);