我使用以下方法设置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});
理想情况下,我想根据一些字符串值而不是实际的日期对象来设置时间。 这可能吗?如果没有,我该如何设定时间? 任何帮助非常感谢。
答案 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}'>