jquery mobile databox плагин, как установить время - PullRequest
0 голосов
/ 14 февраля 2012

Я использую следующее для установки даты плагина datebox

<input data-id="ti_datebox" type="date" data-role="datebox" data-options='{"useInline":true, "noSetButton":true}'>

$ti_datebox.trigger('datebox', {'method':'set', 'value': theDateStr, 'date':theDate})

Однако я не могу установить время с тем же кодом.

<input data-id="ti_datebox" type="date" data-role="datebox" data-options='{"useInline":true, "noSetButton":true, "mode": "timebox"}'>

$ti_datebox.trigger('datebox', {'method':'set', 'value': theDateStr, 'date':theDate});

В идеале,Я хотел бы установить время на основе некоторых строковых значений, а не фактического объекта даты.Это возможно?Если нет, как я могу установить время?Любая помощь высоко ценится.

Ответы [ 3 ]

3 голосов
/ 14 февраля 2012

На самом деле это проще, чем вы делаете - у DateBox также есть метод 'set', который принимает в качестве значения строку (в том же формате, в котором он выводит, как это происходит).Не нужно также отправлять ему объект даты - он будет обрабатывать его создание.

Итак, вы бы:

// For 12hr clock
$('datebox element').trigger('datebox', {'method':'set', 'value':'08:00 AM'});

// For 24hr clock
$('datebox element').trigger('datebox', {'method':'set', 'value':'08:00'});

Рабочий пример здесь:

http://jsfiddle.net/jtsage/AbVqh/1/

Между прочим, если вам по какой-то причине требуется больше контроля, на самом деле метод set только изменяет значение в поле ввода и вызывает метод «refresh», который перечитывает ввод.

2 голосов
/ 14 февраля 2012

Я думаю, что вы ищете это:

$('input[data-id="ti_datebox"]').trigger('datebox', {'method':'set','value':"08:00"});

Дайте мне знать, если это поможет.

1 голос
/ 14 февраля 2012

Вот пример для демонстрационного сайта

Время по умолчанию

<label for="mydate">Some Time</label>

<input name="mydate" id="mydate" type="date" data-role="datebox"
   data-options='{"mode": "timebox"}'>

12-часовой режим часов

<label for="mydate">Some Time</label>

<input name="mydate" id="mydate" type="date" data-role="datebox"
   data-options='{"mode": "timebox", "timeFormatOverride": 12}'>
...