jquery多个函数各自改变

时间:2018-02-11 04:09:10

标签: javascript jquery calculator

我试图根据一些复选框输入更改某些值,我已经让它工作,但只有1个复选框。我有很多代码,所以不要分享它,但任何帮助都会很棒!

GeneralizedNewtypeDeriving

然后使用该值“2”或“1”来计算值

$('#polybags').change(function () {
        var polybags = this.checked ? "2" : "1";            
        console.log(polybags);

如果我关闭第一个更改功能,并启动一个新功能,对于另一个复选框,整个脚本停止工作,根本没有计算任何内容......我正在努力解决如何排序!

理想情况下,我试图实现这一目标:

var addOnPrice = Number(totalPrice)*Number(polybags);

希望这是有道理的,你们可以指出我正确的方向! :)

非常感谢!

2 个答案:

答案 0 :(得分:0)

您可以在事件回调中定义变量,如下所示:

    var polybags=1, nylon=5, addOnPrice;

    $('#polybags').change(function() {
        polybags = this.checked ? "2" : "1";
        console.log(polybags);
    });

    $('#nylon').change(function() {
        nylon = this.checked ? "10" : "5";
        console.log(nylon);
    });

    addOnPrice = Number(totalPrice) * Number(polybags) + Number(nylon);

答案 1 :(得分:0)

我会避免全局变量。相反,有一个函数可以从元素中获取所有值并执行计算。

function calculateAddOnPrice() {
    var polybags = $('#polybags').is(':checked') ? "2" : "1";            
    console.log(polybags);

    var nylon = $('#nylon').is(':checked') ? "10" : "5";
    console.log(nylon);

    var addOnPrice = Number(totalPrice)*Number(polybags)+Number(nylon);
    console.log(addOnPrice);
}

每当输入改变时调用该函数:

$('#polybags').change(function() {
    calculateAddOnPrice();
});

$('#nylon').change(function() {
    calculateAddOnPrice();
});

您可能还想在首次加载页面时调用calculateAddOnPrice()函数。