2014-07-17 78 views
1

我有一个datetimepicker,取自here。此小部件可让您从日历中选择一天并设置时间。此外还有关闭窗口小部件并设置日期的按钮“完成”。我需要能够从当前脚本中调用一个javascript函数,当按钮完成时按下。我曾尝试不同势解决方案,但没有一次成功:当'Done'按钮被按下时,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 
+0

'\ $(\“#selectedDateTime \”)中的那些'反斜杠'是否由您自己的意图放置?不应该是'$(“#selectedDateTime”)'? – j809

+0

该插件是否有文档?这些插件通常会有一个关闭事件(如果它们的制作正确)。 – WillardSolutions

+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'); 
} 
0

这个解决方案你就不能......

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

相关问题