我有一个正在计算东西的函数,根据输入并在我的html中选择。 有许多情况彼此略有不同(它们的值不同,但方程式/数字是相同的),所以在我的开关中,我已经复制粘贴了这些情况。所有其他情况都运作良好,但这不是。
这是我的js的洞察力(整体会太大):
function calculator() {
var val1 = parseInt($('#oblast1').val());
var sadzba = $('#demo').val();
var spotrebaVT = $('#spotVT').val();
spotrebaVT = parseInt(spotrebaVT == '' ? 0 : spotrebaVT);
var spotrebaNT = $('#spotNT').val();
spotrebaNT = parseInt(spotrebaNT == '' ? 0 : spotrebaNT);
var istic = $('#istic').val();
istic = parseInt(istic == '' ? 0 : istic);
var cenaCelkom = 0;
var cenaDist = 0;
var cenaEl = 0;
if (val1==1){
console.log(sadzba);
switch (sadzba) {
case '1':
// ...
else if(val1==3){
switch (sadzba) {
case '1':
//BEZ DPH
var cenaDist1 = figure;
var cenaEl1 = figure;
var cenaCelkom1 = cenaDist1+cenaEl1;
cenaCelkom = Math.round(cenaCelkom1*Math.pow(10,3))/Math.pow(10,3);
cenaDist= Math.round(cenaDist1*Math.pow(10,3))/Math.pow(10,3);
cenaEl= Math.round(cenaEl1*Math.pow(10,3))/Math.pow(10,3);
// here I am alerting these values and they seem ok
alert('cenaCelkom1: '+cenaCelkom1+' cenaCelkom:'+cenaCelkom+" Spotreba: "+spotrebaVT);
这是我将值放在div中的部分。
$('#bezdph').html(cenaCelkom+' EUR');
$('#distr').html(cenaDist+' EUR');
$('#dod').html(cenaEl+' EUR');
那些" fugures"在我的代码中只是替换了我复制粘贴的常量值的长乘法,而在其他地方它们运行良好。我的警报也是正确的值。为什么dvis只是在这种情况下显示NaN?
谢谢