jquery:Globalize.js

时间:2014-05-28 01:37:21

标签: javascript jquery asp.net-mvc-4

在我的网络应用程序中使用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脚本中发生错误。 我可以知道我做错了什么并且无法正常运作吗?

请建议

2 个答案:

答案 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;
    }