我创建了一个 DateTimePicker,目前正在使用“onChangeDateTime”作为使用 ajax 更新页面的方法。但我不是前端人员,我很难理解究竟发生了什么,而且我几乎没有使用 Jquery 的经验。我正在努力学习更多内容,但与此同时,如果有人提供一些建议,我将不胜感激。
我想做的是在页面上有一个链接/按钮,我可以在其中调用某种方法来更改日期选择器中的时间并让它触发 onChangeDateTime 函数。
我认为这就像执行 $("#DateTimePicker").somefunction() 来更改时间一样简单,但我似乎不知道如何更改时间或如何触发 onChangeDateTime()。
我正在创建一个时间表查看器,我想让用户单击一个按钮来及时向前和向后循环,而不必在日期时间选择器上一遍又一遍地选择特定时间。
我从 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()
以编程方式设置 DateTimePicker 的值函数并指定“value”选项,如下所示:
$('datetimepicker').data('xdsoft_datetimepicker').setOptions({
value: '1944/06/06 6:06' // Of course this needs to match the correct format
});
注意:jsfiddle 包含一个将字符串解析为 JavaScript Date
的函数。目的。这可以使用正则表达式来实现,但我走了一条捷径并利用了 moment.js图书馆。
注释:
- 如果您希望在用户更改日期时也执行该代码,您可能需要使用“onChangeDateTime”选项,而不是“onSelectTime”选项。
- 初始值的格式(“2015/04/08 17:49”)与您为日期时间选择器指定的格式(“m/d/Y g:i a”)不匹配。您会想要纠正这一点。
- 仅当您指定“minTime”和/或“maxTime”选项时才需要“formatTime”选项。同样,仅当您指定“minDate”和/或“maxDate”选项时才需要“formatDate”选项。因此,您不需要指定“formatTime”选项。您可以指定“formatDate”选项,因为您确实指定了“maxDate”,但它默认为“Y/m/d”。
-
id
值应该是唯一的,因此您不应使用“myLink”作为<a>
的值元素。
关于javascript - DateTimePicker 如何从构造函数外部触发 onChangeTime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29954528/