jquery ui spinner几分钟

Mar*_*les 3 jquery-ui spinner

我试图使用jquery ui微调器输入一分钟.目前它工作0 - 60但我希望单个数字为00,01..09两位数.

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

$('.minute-spinner').spinner({culture: "en-US",formatDate: "mm"});
Run Code Online (Sandbox Code Playgroud)

但那没有做任何事情.任何人都知道如何使一个微调器总是显示2位数?

Dom*_*Dom 8

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

试试这个:

$('.minute-spinner').spinner({ numberFormat: "d2" });
Run Code Online (Sandbox Code Playgroud)

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

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


参考文献:


更新:

这是参考globalize.js.


eke*_*ner 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);
        }
};
Run Code Online (Sandbox Code Playgroud)

然后根据Dom的答案将以下其中一项添加到您的微调器cfg中...

numberFormat: 'd2' // 0 pad to length of 2
numberFormat: 'n2' // same
numberFormat: 'd5' // 0 pad to length of 5
numberFormat: 'n5' // same 
Run Code Online (Sandbox Code Playgroud)