DateTimePicker 如何从构造函数外部触发 onChangeTime()

DateTimePicker how to trigger onChangeTime() from outside the constructor

我创建了一个 DateTimePicker,目前正在使用 "onChangeDateTime" 作为使用 ajax 更新页面的方式。但我不是前端人员,我无法理解到底发生了什么,而且我几乎没有使用 Jquery 的经验。我正在努力学习更多,但与此同时,如果有人提供建议,我将不胜感激。

我想做的是在页面上有一个 link/button,我可以在其中调用一些方法来更改日期选择器中的时间并让它触发 onChangeDateTime 函数。

我认为改变时间就像做 $("#DateTimePicker").somefunction() 一样简单,但我似乎无法弄清楚如何改变时间或如何触发 onChangeDateTime( ).

我正在创建一个日程查看器,我想让用户单击一个按钮来及时向前和向后循环,而不必 select 在日期时间选择器上一遍又一遍地输入特定时间。

我从 http://xdsoft.net/jqplugins/datetimepicker/

获得了我的日期选择器版本

编辑:这是我到目前为止所写的内容。

 <body>
    <input id="datetimepicker" type="text" value="2015/04/08 17:49">

    <a id="myLink" title="Click to do something"
    href="#" onclick="backEpisodes();">Backwards</a>

    <a id="myLink" title="Click to do something"
    href="#" onclick="forwardEpisodes();">Forwards</a>

 <script>
 jQuery('#datetimepicker').datetimepicker({
        formatTime:'g:ia',
        format: 'm/d/Y g:i a',
        inline:true,
        maxDate:'<?php echo date('Y/m/d', strtotime("+3 week")); ?>',
        onSelectTime:function(current_time,$input){
            updateEp($input.val());
        }
    });
</script>
</body>

您可以通过使用它的 setOptions() 函数并指定 "value" 选项以编程方式设置 DateTimePicker 的值,如下所示:

$('datetimepicker').data('xdsoft_datetimepicker').setOptions({
    value: '1944/06/06 6:06' // Of course this needs to match the correct format
});

jsfiddle

注意:jsfiddle 包含一个将字符串解析为 JavaScript Date 对象的函数。这可以使用正则表达式来实现,但我走了一条捷径,利用了 moment.js 库。


备注:

  • 如果您希望该代码在用户更改日期时也执行,您可能需要使用 "onChangeDateTime" 选项,而不是 "onSelectTime" 选项。
  • 您的初始值格式(“2015/04/08 17:49”)与您为日期时间选择器 ('m/d/Y g:i a') 提供的格式不匹配。你会想要更正它。
  • 仅当您指定 "minTime" and/or "maxTime" 选项时才需要 "formatTime" 选项。同样,仅当您指定 "minDate" and/or "maxDate" 选项时才需要 "formatDate" 选项。因此,您不需要指定 "formatTime" 选项。您可以指定 "formatDate" 选项,因为您确实指定了 "maxDate",但它默认为 "Y/m/d".
  • id 值应该是唯一的,因此您不应使用 "myLink" 作为两个 <a> 元素的值。