JSFiddle - React, Tailwind, and code Playground
HTML
<input type="checkbox" id="iv" />
</br>
<input type="text" id="campo" value="10">
</br>
<select name="children-qnt" id="children-qnt">
<option value="0">0</option>
<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>Result: <span id="resultado">10,00</span>
JavaScript
var $campo = byId('campo'),
$select = byId('children-qnt'),
$checkbox = byId('iv');
function byId(element) {
return document.getElementById(element);
}
function updateResult() {
//Ajustar valor inválido
if ($campo.value === '') {
$campo.value = 0;
}
var result = parseInt($campo.value) * parseInt($select.value);
//Formato de real no valor
byId('resultado').innerHTML = formatReal($checkbox.checked ? result * 2 : result);
}
function formatReal(mixed) {
var int = parseInt(mixed.toFixed(2).toString().replace(/[^\d]+/g, ''));
var tmp = int + '';
tmp = tmp.replace(/([0-9]{2})$/g, ",$1");
if (tmp.length > 6) tmp = tmp.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2");
return tmp;
}
$campo.addEventListener('keyup', updateResult);
$select.addEventListener('change', updateResult);
$checkbox.addEventListener('change', updateResult);