JQuery Calculation返回NaN

时间:2010-01-15 01:39:13

标签: javascript jquery

我正在使用JQuery Calculation plugin以下脚本:

function recalc() {
         jQuery("input[class^=percent]").calc(
            "(invoice - cost)/invoice * 100",
            {
                invoice: jQuery("input[class^=invoice]"),
                cost: jQuery("input[class^=cost]")
            },
                function(s) {
                // return the number as a perrcent amount
              return s.toFixed(2) + "%";
            }
        )
    };

想知道如何在计算无效时停止显示“NaN%”(例如,除以零)并显示空字符串。

非常感谢任何帮助。干杯!

2 个答案:

答案 0 :(得分:5)

为避免显示"NaN%",您只需检查s参数isNaN,并返回空字符串,否则返回数字:

function recalc() {
  jQuery("input[class^=percent]").calc("(invoice - cost)/invoice * 100", {
    invoice: jQuery("input[class^=invoice]"),
    cost: jQuery("input[class^=cost]")
  },
  function(s) {
    // return an empty string if s is NaN
    return !isNaN(s) ? s.toFixed(2) + "%" : "";
  });
}

答案 1 :(得分:1)

更积极主动的方法可能是防止NaN首先发生。在执行计算之前进行检查可以在出现问题时(之前)提供更好的反馈。也许这对你正在做的事情来说太过分了,但它是防止异常情况的更好的做法。