datetimepicker在按下“完成”按钮时触发javascript函数

时间:2014-07-17 13:11:37

标签: javascript jquery

我有一个取自here的datetimepicker。通过此小部件,您可以从日历中选择一天并设置时间。此外,还有“完成”按钮可关闭小部件并设置日期。当按下完成按钮时,我需要能够从当前脚本调用javascript函数。我尝试了不同的解决方案,但没有一个有效:

my_page.html:

<link rel=stylesheet href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<script src="timepicker/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript">
\$(function() { \$('#selectedDateTime').datetimepicker(); });
</script>
...
<input type="text" id="selectedDateTime">

我试过这个,但它不起作用:

<script type="text/javascript">
$("#selectedDateTime").datetimepicker({
onClose: function(dateText, inst) {
   my_func();
  }
});
function my_func() {
  alert('my_func triggered');
}
</script>

我已经设法在更改日期或更改时间时调用我的函数,但我只想在按下按钮时调用我的函数。这样我就避免多次调用该函数。

<input type="text" id="selectedDateTime" onChange="javascript:my_func"> // this is working, but calls the function all the times, even if the button is not pressed

2 个答案:

答案 0 :(得分:0)

我从here

找到了这个解决方案
<script type="text/javascript">
 function isDonePressed(){
   return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
}

function my_func() {
  if(isDonePressed())
    alert('my_func triggered');
}

答案 1 :(得分:0)

你能不能......

$(document).on('click', 'THE-BUTTON-ID/CLASS', function(){
    alert('my_func triggered');
})