我有这个工作的JS,它检查是否选中了不同的复选框,并为每个复选框指定了不同的价格,以后将对其进行汇总。
function priceCandy1() {
var priceCandy1 = 0;
var candy = document.getElementById("candy1");
if(candy.checked==true)
{
priceCandy1=13;
}
return priceCandy1;
}
function calculateTotal()
{
var totalPrice = priceCandy1() + priceCandy2() + priceCandy3();
document.getElementById('totalid').innerHTML = "$" + totalPrice;
}
现在,我尝试在jQuery中编写等效代码,并且此功能确实起作用:
$(function () {
var priceCandy1 = 0;
var candy = $('#candy1');
$('#candy1').on('click',function () {
if (candy.is(':checked')) {
priceCandy1 = 13;
}
});
return priceCandy1;
});
但是我无法将返回的价格捕获到一个将每个priceCandy#加起来的函数中。超出范围,但我不知道如何解决。
最佳答案
如果像您说的那样是范围问题,则可以在函数外部将priceCandy1声明为全局变量。
var priceCandy1;
$(function () {
priceCandy1 = 0;
var candy = $('#candy1');
$('#candy1').on('click',function () {
if (candy.is(':checked')) {
priceCandy1 = 13;
}
});
});
然后在您的totalPrice函数中使用priceCandy1,它应该能够获取它。