我正在开展此电子商务项目,如果选中特定的复选框,我需要计算“运费”。 这是复选框的代码: -
<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的了解有限,我无法找到它的解决方案。 搜索也没有帮助。
欢迎任何建议。
答案 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
来跟踪成本来源,以便为用户输出列表。