Jquery函数不适用于函数参数

时间:2016-03-12 09:30:31

标签: javascript jquery asp.net-mvc razor

我有一个jquery函数,它从调用者那里接收一个参数。在参数上调用split()会引发错误。这是函数

function formatNairaCurrency(value) {
var formatedWithoutNaira;
var formattedAmount
//check if value is in kobo format
var splittedValue = value.split(".");//Throws error
if (splittedValue.length === 2) {
    formatedWithoutNaira = isNaN(splittedValue[0]) ? "" : splittedValue[0].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    formattedAmount = "₦" + formatedWithoutNaira + splittedValue[1];
} else {
    formatedWithoutNaira = isNaN(value) ? "" : value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    formattedAmount = "₦" + formatedWithoutNaira + ".00";
}

return formattedAmount;}

致电var splittedValue = value.split(".");会引发错误value.split is not a function

我错过了什么?

我在.cshtml文件中调用它。即使在同一.js文件中,这也适用于另一个功能。区别在于value不是参数,而是文本框中的值。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果我理解你的意图正确,你试图使用split for string。您的错误可能是由值不是字符串引起的。您需要调试或抛出控制台' value'。

修改:例如

null ,或者值未完成这肯定会导致您的错误。测试这些条件:

(value === null)
(typeof value === 'undefined')

如果您的值数字 - 这也会导致错误。您需要先将数字转换为字符串。你可以通过

来做到这一点
var valueAsString = value.toString();
valueAsString.split('.');