jquery datepicker onselect的问题

按照jquery站点上的基本onSelect规范,我尝试了以下代码:

        $(document).ready(function(){ $("#datepicker").datepicker(); $('#datepicker').datepicker({ onSelect: function(dateText, inst) { alert("Working"); } }); });    

而且无法让它发挥作用! 最初一直试图让一个更复杂的东西工作,但onSelect只是没有工作,所以我回到基础,仍然不工作,任何人都知道我做错了什么?

您可以尝试在该行上方删除第二个$("#datepicker").datepicker() ,并留下:

 $(document).ready(function(){ $('#datepicker').datepicker({ onSelect: function(dateText, inst) { alert("Working"); } }); }); 

你没有正确使用api。 不要把它弄糟,一开始会让人感到困惑。

这两行都告诉datepicker小部件初始化元素上的datepicker:

 $("#datepicker").datepicker(); $('#datepicker').datepicker({ onSelect: function(dateText, inst) { alert("Working"); } }); 

你可以删除第一个,因为它没有做任何事情,除了防止第二个有任何影响。

如果要在初始化窗口小部件后更改其中一个选项的值,则需要使用此API:

 $('#datepicker').datepicker('option', 'onSelect', function() { /* do stuff */ }); 

或者,您可以使用jQuery的bind函数附加处理程序:

 $('#datepicker').bind('onSelect', function() { /* do stuff */ }); 

选择日期时,此代码必须有效:

 $("#datepicker").datepicker({ dateFormat: 'dd/mm/yy' }).on("changeDate", function (e) { alert("Working"); }); 

jQuery datepicker的onSelect有时不起作用,但您可以通过调用input类型的onchange事件上的方法来绕过它。

 function changeDate() { $("#datepicker").datepicker( "change", { alert("I am working!!"); } ); } 

将此changeDate()方法changeDate()