блесны в jQuery пользовательского интерфейса в течение нескольких минут


Я пытаюсь использовать jQuery ui spinner для ввода минут. В настоящее время он работает 0 - 60, но я хочу, чтобы одиночные цифры были 00,01..09 двузначные цифры.

Согласно docs я должен использовать плагин globalize и установить numberFormat: 'mm', но это вызвало ошибку. В консоли я посмотрел на globalize js, и опция 'mm' находится внутри 'formatDate'. Поэтому я попытался:

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

, но это ничего не делал. Кто-нибудь знает, как сделать так, чтобы спиннер всегда показывал 2 цифры?

2 3

2 ответа:

К сожалению, .spinner() не имеет опции formatDate.

Попробуйте вот что:

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

Демо: http://jsfiddle.net/dirtyd77/SA7Gk/

Надеюсь, это поможет и дайте мне знать, если у вас есть какие-либо вопросы!


Ссылки:


Обновление:

Вот ссылка на globalize.js.

Вся библиотека Globalize излишня, если вы просто хотите использовать numberFormat для jQuery spinner.

Я опускаю 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);
        }
};

Затем добавьте один из следующих вариантов в ваш spinner cfg в соответствии с ответом Dom ...

numberFormat: 'd2' // 0 pad to length of 2
numberFormat: 'n2' // same
numberFormat: 'd5' // 0 pad to length of 5
numberFormat: 'n5' // same