3

我尝试使用 jquery ui 微调器进行一分钟输入。目前它的工作范围为 0 - 60,但我希望个位数为 00,01..09 两位数。

根据文档,我应该使用 globalize 插件并设置 numberFormat: 'mm' 但这会引发错误。在控制台中,我查看了 globalize js 和 'mm' 选项在 'formatDate' 内。所以我尝试了:

$('.minute-spinner').spinner({culture: "en-US",formatDate: "mm"});

但这并没有做任何事情。有人知道如何使微调器始终显示 2 位数字吗?

4

2 回答 2

8

不幸的是,.spinner()没有formatDate选择。

试试这个:

$('.minute-spinner').spinner({ numberFormat: "d2" });

演示:http: //jsfiddle.net/dirtyd77/SA7Gk/

希望这会有所帮助,如果您有任何问题,请告诉我!


参考:


更新:

这里是参考globalize.js

于 2013-01-15T20:37:09.643 回答
5

如果您只想为 JQuery 微调器使用 numberFormat,那么整个 Globalize 库就太过分了。

我省略了 Globalize,只是在我的 js 中的某处添加以下代码......

// mock Globalize numberFormat for mins and secs using jQuery spinner ...
if (!window.Globalize) window.Globalize = {
        format: function(number, format) {
                number = String(this.parseFloat(number, 10) * 1);
                format = (m = String(format).match(/^[nd](\d+)$/)) ? m[1] : 2;
                for (i = 0; i < format - number.length; i++)
                        number = '0'+number;
                return number;
        },
        parseFloat: function(number, radix) {
                return parseFloat(number, radix || 10);
        }
};

然后根据 Dom 的回答将以下内容之一添加到您的微调器 cfg ...

numberFormat: 'd2' // 0 pad to length of 2
numberFormat: 'n2' // same
numberFormat: 'd5' // 0 pad to length of 5
numberFormat: 'n5' // same 
于 2015-02-05T14:49:14.177 回答