jQuery在输入检查时增加/减少值

时间:2014-04-02 19:14:07

标签: javascript jquery

我正在开展此电子商务项目,如果选中特定的复选框,我需要计算“运费”。 这是复选框的代码: -

<div class="alert alert-info">
<p>Shipping Outside Lagos (N2, 000)</p>
<input type="checkbox" name="shipping" id="shipping">
</div>

如何编写jQuery函数,以便在检查输入时..我可以获取变量中的值。假设默认值是2000,我怎么能得到$ amount = 2000(如果选中),如果未选中,$ amount仍为0。 由于我对jQuery / JavaScript的了解有限,我无法找到它的解决方案。 搜索也没有帮助。

欢迎任何建议。

3 个答案:

答案 0 :(得分:2)

var amount = $('#shipping').is(':checked') ? 2000 : 0;

$('#shipping').on('change', function() {
     amount = this.checked ? 2000 : 0;
});

// use amount

答案 1 :(得分:2)

你可以这样做:

var shippingAmt = 0;
$("#shipping").change(function() {
    shippingAmt = this.checked ? 2000 : 0;
});

答案 2 :(得分:2)

我建议使用一个函数来确定项目的成本。您可以通过几个或几个条件来确定成本的摘要,以便计算“附加组件”。

所以你的初始总数为500.99美元,然后通过类似calculateTotalValue(value)

的方式运行该值

它会检查表单中是否检查了任何加载项,并将它们的值添加到初始值。

这将允许您拥有任意数量的附加功能,例如运输,甚至是产品本身的附加/升级,并且您可以在每种情况下都能获得总数。您可以通过一种通用的方式来规定字段是“添加”,这样您就不需要维护列表,如下所示:

<input type="checkbox" rel="add-on" data-add-on-type="shipping" value="500">

然后在你的函数中,

calculateTotalValue(value) {
    $.each($('input[rel="add-on"]'), function(i) {
        // You probably want some error checking here
        value += this.val();
    });

    return value;
}

如有必要,您还可以使用data-add-on-type来跟踪成本来源,以便为用户输出列表。