在我的网络应用程序中使用Globalize.js时遇到问题。 这就是我在_Layout.cshtml中声明脚本引用的方式:
<script type="text/javascript" src="~/Scripts/jquery-2.1.0.min.js" ></script>
<script type="text/javascript" src="~/Scripts/jquery-ui-1.10.4.min.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.validate.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script type="text/javascript" src="~/Scripts/globalize/globalize.js"></script>
<script type="text/javascript" src="~/Scripts/globalize/cultures/globalize.cultures.js"></script>
这就是我在页面中实现它的方法(Create.cshtml):
Globalize.culture("en-US");
var NomDia = Globalize.parseFloat(0.005);
以某种方式错误回归如下:
TypeError: value.indexOf is not a function
并且在Globalize.js脚本中发生错误。 我可以知道我做错了什么并且无法正常运作吗?
请建议
答案 0 :(得分:2)
我猜parseFloat
意味着采用字符串而不是浮点数。这可以解释为什么你得到value.indexOf
不是一个函数(字符串有这个方法,而数字没有):
var nomDia = Globalize.parseFloat('0.005');
虽然,我只是仔细检查了Globalize文档并注意到没有parseFloat
所以我猜你正在使用parseNumber
:
var nomDia = Globalize.parseNumber('0.005');
答案 1 :(得分:0)
对于Globalize.js v.1.13我用
解决了 $.validator.methods.number = function (value, element) {
if (value != false) {
if (Globalize.parseFloat(value)) {
return true;
}
}
return false;
}