0
Good morning guys, after researching a lot, "I realized" how practical jquery is, but I came across an obstacle. How the script below would look in jquery format?
function enableQuantity(prod,quantity)
{
if(document.getElementById(prod).checked)
document.getElementById(quantity).disabled = false;
else
document.getElementById(quantity).disabled = true;
document.getElementById(quantity).selectedIndex = 0;
document.getElementById('subtotal1').value = 0;
document.getElementById('subtotal2').value = 0;
document.getElementById('subtotal3').value = 0;
document.getElementById(quantity).value = total;
calculateTotal();
}
function calculateTotal()
{
var products = new Array("Product10","Product20","Product30");
var i=0;
var total = 0;
var subtotal = 0;
for(i;i<products.length;i++)
if(document.getElementById(products[i]).checked)
{
total = total + parseInt(document.getElementById(products[i]).value) * parseInt(document.getElementById('QuantityProd'+(i+1)).value);
subtotal1 = parseInt(document.getElementById('Product10').value) * parseInt(document.getElementById('QuantityProd1').value);
subtotal2 = parseInt(document.getElementById('Product20').value) * parseInt(document.getElementById('QuantityProd2').value);
subtotal3 = parseInt(document.getElementById('Product30').value) * parseInt(document.getElementById('QuantityProd3').value);
}
document.getElementById('subtotal1').innerHTML = subtotal1;
document.getElementById('subtotal2').innerHTML = subtotal2;
document.getElementById('subtotal3').innerHTML = subtotal3;
document.getElementById('Total').value = total;
}
window.addEvent('domready', function() {
enableQuantity('Product10','QuantityProd1');
enableQuantity('Product20','QuantityProd2');
enableQuantity('Product30','QuantityProd3');
});
<div>
<label>Marca se Quero o Produto 1 (R$25)</label>
<input type="checkbox" value="25" id="Product10" onclick="enableQuantity('Product10','QuantityProd1');">
/
<label>Quantidade</label>
<select id="QuantityProd1" onchange="calculateTotal();">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<span>/ Exibe Subtotal no span = R$<span id="subtotal1">0</span></span></div>
<label>Marca se Quero o Produto 2 (R$35)</label>
<input type="checkbox" value="35" id="Product20" onclick="enableQuantity('Product20','QuantityProd2');">
/
<label>Quantidade</label>
<select id="QuantityProd2" onchange="calculateTotal();">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<span>/ Exibe Subtotal no span = R$<span id="subtotal2"></span></span>
</div>
<div>
<label>Marca se Quero o Produto 3 (R$45)</label>
<input type="checkbox" value="45" id="Product30" onclick="enableQuantity('Product30','QuantityProd3');">
/
<label>Quantidade</label>
<select id="QuantityProd3" onchange="calculateTotal();">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<span>/ Exibe Subtotal no span = R$<span id="subtotal3"></span></span>
</div>
<br>
<span>(essa div oculta se o produto1 não for selecionado)</span>
<div id="produto1_linha">
<span id="nome_produto1">Produto 1</span> /
<span id="quantidade_produto1"> {exibe quantidade selecionada}</span> /
<span id="subtotal_produto1"> {exibe subtotal}</span>
</div>
<br>
<span>(essa div oculta se o produto2 não for selecionado)</span>
<div id="produto2_linha">
<span id="nome_produto2">Produto 2</span> /
<span id="quantidade_produto2"> {exibe quantidade selecionada}</span> /
<span id="subtotal_produto2"> {exibe subtotal}</span>
</div>
<br>
<span>(essa div oculta se o produto3 não for selecionado)</span>
<div id="produto3_linha">
<span id="nome_produto3">Produto 3</span> /
<span id="quantidade_produto3"> {exibe quantidade selecionada}</span> /
<span id="subtotal_produto3"> {exibe subtotal}</span>
</div>
<br>
<div>
<label>Total</label>
<input type="text" value="0" id="Total" size="20">
</div>
This JS is for use in a Joomla plugin, so I made an HTML here quickly for viewing but it contains several errors. It’s basically a calculator. From now on, thank you
The live code of your example is not working here for me.
– Jhonathan
Put your HTML and arrange your snippet please. Maybe you can even improve your logic.
– Marconi
Thanks for the prompt return by mounting the sample html now for example.
– Danilo Fagundes
@Danilofagundes, a Javascript tip, avoid searching for DOM elements unnecessarily,
$('#id')
anddocument.getElementById('id')
are functions that involve a cost... so do them only once, store in a variable, then use this variable in your code.– Tobias Mesquita