尝试添加时,包含数字的jQuery变量返回为NaN
我试图抓取跨度中包含的两个数字(这些数字由选择菜单中的选项决定),并将它们相加。然后,我需要将这个数字填充到另一个显示总数的跨度中。跨距内的数字是有效的数字,但每次单击.getTotal时,结果都返回为NaN。有什么想法吗尝试添加时,包含数字的jQuery变量返回为NaN,jquery,Jquery,我试图抓取跨度中包含的两个数字(这些数字由选择菜单中的选项决定),并将它们相加。然后,我需要将这个数字填充到另一个显示总数的跨度中。跨距内的数字是有效的数字,但每次单击.getTotal时,结果都返回为NaN。有什么想法吗 $(".bundelTotalHeading").hide(); var pestTotal = $('.programCostPestControl').val(); var lawnTotal = $('.programCostLawnCare').val();
$(".bundelTotalHeading").hide();
var pestTotal = $('.programCostPestControl').val();
var lawnTotal = $('.programCostLawnCare').val();
var total = parseFloat(pestTotal) + parseFloat(lawnTotal);
$('.getTotal').click(function () {
if(isNaN(total)) {
var total = 'CALL FOR PRICING';
}
$(".totalCost").text(total);
$(".bundelTotalHeading").show();
});
您需要将变量声明移动到click处理程序中,并获取要使用的范围内的文本。text()而不是.val():
试试.text()而不是.val()当然了!!我快看不见密码了!!非常感谢!!仅供参考,您可以将
isNaN
换成total!=总计
。这是一个鲜为人知的技巧,因为NaN
不等于任何其他值,包括它本身。据报道,它的速度也要快得多。无论哪种方式+1。。。
$(".bundelTotalHeading").hide();
$('.getTotal').click(function () {
var pestTotal = $('.programCostPestControl').text();
var lawnTotal = $('.programCostLawnCare').text();
var total = parseFloat(pestTotal) + parseFloat(lawnTotal);
if(isNaN(total)) {
var total = 'CALL FOR PRICING';
}
$(".totalCost").text(total);
$(".bundelTotalHeading").show();
});