var datePicker = $('#datepicker')
datePicker.datepicker();
var date = datePicker.datepicker('getDate');
alert(date.getMonth())
将输出 11(当前),尽管这仅在日历日期选择器已初始化或显示后才有效。这意味着如果您使用文档(输入字段)中的标记,您将不会收到任何警报。解决此问题的方法可能是将日期选择器设置为围绕输入的 div,并在输入获得或失去焦点时触发日期选择器显示/隐藏。
在这把小提琴上的东西。这有点难看,但它应该作为输入部分的解决方法:
var datePicker = $('#datepicker')
datePicker.datepicker();
datePicker.hide();
var date = datePicker.datepicker('getDate');
alert(date.getMonth());
$("[rel='#datepicker']").focus(function(){
datePicker.show();
});
$("[rel='#datepicker']").blur(function(){
datePicker.hide();
});
使用以下 HTML:
<input rel='#datepicker' type='text'/>
<div id='datepicker'></div>
更新
您还询问如何获取日历上的月份的beforeShow
方法。在我看来,你有两种选择。您要么设置了覆盖该defaultMonth
选项的月份,要么将其设置为当前月份。如果你手动设置了它,你已经有了它,如果你没有,它可能只是与 in 相同的数字new Date().getMonth()
(在这种情况下,正如你可能猜到的那样,11)