блесны в 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 ответа:
К сожалению,
.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