0

我正在使用以下设置日期框插件的日期

<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});

理想情况下,我想根据一些字符串值而不是实际的日期对象来设置时间。这可能吗?如果没有,我该如何设置时间?非常感谢任何帮助。

4

3 回答 3

3

它实际上比你做的更容易——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/

fwiw,如果您出于某种原因需要更多控制,那么 set 方法实际上所做的就是更改输入框中的值,并调用“刷新”方法 - 它重新读取输入。

于 2012-02-14T19:51:41.837 回答
2

我想你正在寻找这个:

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

让我知道这是否有帮助。

于 2012-02-14T15:24:07.993 回答
1

这是演示站点的示例

时间默认

<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}'>
于 2012-02-14T14:47:12.940 回答