Javascript Jquery函数在函数参数上不起作用
我有一个jquery函数,它从它的调用者那里接收一个参数。对参数调用Javascript Jquery函数在函数参数上不起作用,javascript,jquery,asp.net-mvc,razor,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 =
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(“.”)代码>抛出错误值。拆分不是函数
我错过了什么
我在.cshtml
文件中调用它。即使在相同的.js
文件上,它也可以在另一个函数中工作。不同之处在于,值
不是参数,而是文本框中的值
非常感谢您的帮助。如果我正确理解了您的意图,您正在尝试使用“拆分为字符串”。您的错误可能是因为值不是字符串。您需要调试或抛出控制台“值”
编辑:例如,如果
值为null,或值为未索引,这肯定会导致错误。测试这些条件:
(value === null)
(typeof value === 'undefined')
如果您的值是number,也会导致错误。您需要先将数字转换为字符串。你可以自己做
var valueAsString = value.toString();
valueAsString.split('.');
value
是一种没有split()
方法的类型。您还没有显示在哪里调用formatNairaCurrency
,或者它的值是什么,因此我们无法提供真正的帮助。从货币的上下文来看,我假设该值是一个浮点值,因此请尝试value.toString().split('.')
更新了我的答案,以包括一些有助于解决问题的工具。