Два экземпляра jQuery timepicker - PullRequest
0 голосов
/ 23 января 2019

У меня есть разные функции jQuery, одна для часов, другая для минут.

$('#hour_timepicker').timepicker({
    timeFormat: 'h',
    interval: 1,
    dynamic: false,
    dropdown: true,
    scrollbar: true
});

Приведенный выше код работает отлично.Однако моя следующая функция, которая должна показывать минуты, не работает,

$('#minute_timepicker').timepicker({
    timeFormat: 'm',
    interval: 10,
    dynamic: true,
    dropdown: true,
    scrollbar: true
});

Независимо от того, какое значение я выбираю из minute_timepicker , оно показывает полностью случайные числа.

А вот и входные данные:

<label id="hour_timepicker_label">Slect time</label>
<input id="hour_timepicker" type="text"/>
<label>:</label>
<input id="minute_timepicker" type="text"/>

Кто-нибудь может помочь, пожалуйста?Спасибо.

Ссылка на библиотеку Timepicker : http://jonthornton.github.io/jquery-timepicker/

Ответы [ 3 ]

0 голосов
/ 23 января 2019

На основании документации для этой библиотеки timeFormat определяется как:

timeFormat Как время должно отображаться в списке и вводиться элемент. Использует синтаксис форматирования даты () PHP * . Персонажи могут быть избежал двойной косой черты (например, H \ hi). С другой стороны, Вы можете указать функцию вместо строки, чтобы использовать полностью пользовательское форматирование времени. В этом случае функция форматирования получает Дата объекта и, как ожидается, вернет отформатированное время в виде строки. по умолчанию: 'g: ia'

и синтаксис форматирования PHP для минут: i

0 голосов
/ 23 января 2019

Я думаю, что проблема в том, что эта библиотека на самом деле не предназначена для того, чтобы выбирать минуты отдельно, если бы вам пришлось это делать, вам нужно было бы установить шаг 60 для часа (так что он будет отображаться только с шагом в один час), а затем в течение нескольких минут вам нужно будет ограничить его показом только некоторого произвольного часа, чтобы он не повторялся, а затем установите шаг равным 10, чтобы он отображался с шагом 10 минут.

$('#hour_timepicker').timepicker({
    timeFormat: 'H',
    interval: 1,
    step: 60,
    dynamic: false,
    dropdown: true,
    scrollbar: true
});

$('#minute_timepicker').timepicker({
    timeFormat: 'i',
    step: 10,
    dynamic: true,
    dropdown: true,
    scrollbar: true,
    minTime: '12:00am',
    maxTime: '12:59am'
});
<link href="https://cdn.jsdelivr.net/npm/timepicker@1.11.14/dist/jquery.timepicker.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/timepicker@1.11.14/dist/jquery.timepicker.min.js"></script>


<label id="hour_timepicker_label">Slect time</label>
<input id="hour_timepicker" type="text"/>
<label>:</label>
<input id="minute_timepicker" type="text"/>
0 голосов
/ 23 января 2019

попробуйте i вместо m для вашей второй функции.

* 1005 т.е. *

$('#minute_timepicker').timepicker({
    timeFormat: 'i',
    interval: 10,
    dynamic: true,
    dropdown: true,
    scrollbar: true
});

извините, если это не сработает.

Я предлагаю это, потому что в документации есть:

$('#timeformatExample1').timepicker({ 'timeFormat': 'H:i:s' });

H -> hours, i -> minutes и s -> seconds

...