jquery mobile databox插件如何设置时间

时间:2012-02-14 14:20:08

标签: jquery-mobile datebox

我使用以下方法设置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 个答案:

答案 0 :(得分: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方法实际上都是更改输入框中的值,并调用“刷新”方法 - 重新读取输入。

答案 1 :(得分:2)

我认为你正在寻找这个:

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

如果有帮助,请告诉我。

答案 2 :(得分: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}'>