(我对jQuery很新。)
我有一个传统的HTML表单,有3个下拉选项(每个选项都有不同的值,我想总计。)截至目前,我正在使用一个jQuery代码(下面)乘以“ os0,os1,os2“然后在”result“css块中显示totalCost就好了,但它需要用户点击”Calculate Total“按钮。
$(document).ready(function() {
$('#calculateTotal').click(function() {
var unitPrice = 2, paperTypes = 2, printedSides = 2;
var inputNum_of_Shirts = $('#os0').val();
var inputNum_of_FColor = $('#os1').val();
var inputNum_of_BColor = $('#os2').val();
var totalCost = (inputNum_of_Shirts*parseFloat(unitPrice))
*(parseFloat(paperTypes)*inputNum_of_FColor)
*(parseFloat(printedSides)* inputNum_of_BColor );
var perShirtCost = (parseFloat(unitPrice))
*(parseFloat(paperTypes)*inputNum_of_FColor)
*(parseFloat(printedSides)*inputNum_of_BColor);
$('#total').html(formatCurrency(totalCost));
$('#perShirt').html(formatCurrency(perShirtCost));
$('#result').css('display', 'block');
document.getElementById("finalpaypal").value = totalCost;
});
});
有没有办法让jQuery自动更新此总数?没有“计算总计”按钮? 任何形式的帮助都将不胜感激。
谢谢, 亚伦
答案 0 :(得分:1)
由于您已经进行了计算,将逻辑移动到单独的函数中,然后将其绑定到每个选择的on change事件:
试试这个:
function calculateTotal(){
var unitPrice = 2, paperTypes = 2, printedSides = 2;
var inputNum_of_Shirts = $('#os0').val();
var inputNum_of_FColor = $('#os1').val();
var inputNum_of_BColor = $('#os2').val();
var totalCost = (inputNum_of_Shirts*parseFloat(unitPrice))
*(parseFloat(paperTypes)*inputNum_of_FColor)
*(parseFloat(printedSides)* inputNum_of_BColor );
var perShirtCost = (parseFloat(unitPrice))
*(parseFloat(paperTypes)*inputNum_of_FColor)
*(parseFloat(printedSides)*inputNum_of_BColor);
$('#total').html(formatCurrency(totalCost));
$('#perShirt').html(formatCurrency(perShirtCost));
$('#result').css('display', 'block');
document.getElementById("finalpaypal").value = totalCost;
}
$(function(){
$('#os0, #os1, #os2').change(calculateTotal);
});
答案 1 :(得分:0)
我建议在3个下拉列表中附加一个jquery事件监听器,以便在更改其中任何一个时,重新计算总值。你可以选择等到所有三个都有价值观,或者只是'随着人们去'。