如何求变量?

时间:2014-06-26 22:13:56

标签: javascript jquery

我需要做以下事情: enter image description here

我试着总结3个产品并在总字段中显示,但是有onchange事件。当我选择第一个组合框时,保存总值,第二个组合框相同的东西,将值与总和相加,但对我不起作用。我该怎么办?

jQuery(document).ready(function ($){
$('select#cant1').on('change',function(){
    var valor1 = '1500' * $(this).val();
    $("#valProd1").text(valor1);
});

$('select#cant2').on('change',function(){
    var valor2 = '220000' * $(this).val();
    $("#valProd2").text(valor2);
});

$('select#cant3').on('change',function(){
    var valor3 = '1300' * $(this).val();
    $("#valProd3").text(valor3);
});

$('select#cant1,cant2').on('change',function(){
    var op = $("#cant1");
    var op1 = op * 1500;
    $("#valSubtotal").text(op1);
});
});

my fiddle

2 个答案:

答案 0 :(得分:1)

为每个选择添加一个名为valor的类

$('.valor').on('change',function(){

 var valor1 = 1500 * $("#cant1").val();
 var valor2 = 220000 * $("#cant2").val();
 var valor3 = 1300 * $("#cant3").val();

 $("#valProd1").text(valor1);
 $("#valProd2").text(valor2);
 $("#valProd3").text(valor3);


 $("#valSubtotal").text(valor1 + valor2  + valor3);

});

http://jsfiddle.net/RGdU2/4

答案 1 :(得分:0)

以下应该可以正常工作:

var valor1 = 1500 * +$(this).val();

而不是:

var valor1 = '1500' * $(this).val();

+或多或少类似于parseInt(),你不想引用数字,否则你也需要投射它们。

可以使用每个更改回调调用以下函数,以便每次下拉更改时更新总数:

function total() {
    $('#valTotal').text( +$('#valProd3').text().trim() + +$('#valProd2').text().trim() + +$('#valProd1').text().trim() );
}

JSFIDDLE DEMO