我试图根据一些复选框输入更改某些值,我已经让它工作,但只有1个复选框。我有很多代码,所以不要分享它,但任何帮助都会很棒!
GeneralizedNewtypeDeriving
然后使用该值“2”或“1”来计算值
$('#polybags').change(function () {
var polybags = this.checked ? "2" : "1";
console.log(polybags);
如果我关闭第一个更改功能,并启动一个新功能,对于另一个复选框,整个脚本停止工作,根本没有计算任何内容......我正在努力解决如何排序!
理想情况下,我试图实现这一目标:
var addOnPrice = Number(totalPrice)*Number(polybags);
希望这是有道理的,你们可以指出我正确的方向! :)
非常感谢!
答案 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()
函数。