我修改了一个datepicker,仅显示月份和年份。有用。但是,当我添加$(document).ready(function()
来设置页面首次打开时的当前月份和年份时,只有左右箭头(下一个和上个月)选项可用(没有下拉菜单;没有其他按钮) 。问题是什么?
JS:
$( document ).ready(function() {
$("#datepicker").datepicker({dateFormat: 'MM yy'}).datepicker("setDate", new Date());
});
$(function() {
$( "#datepicker" ).datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
onClose: function(dateText, inst) {
$(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
}
});
});
HTML:
<input type="text" id="datepicker" name="datepicker" style="color: #595959;" onclick="function1();function2();" onchange="function3()" />
答案 0 :(得分:2)
问题是因为您在元素上定义了一个日期选择器,然后立即用另一个具有不同设置的实例覆盖它。如果您只想设置默认日期值,可以在datepicker的单个实例上的单个document.ready处理程序中执行此操作。
另请注意,您的onClose
设置是多余的,因为该代码块中的逻辑无论如何都是插件的默认行为。
试试这个:
$(function() {
var defaultDate = new Date(); // = today
$('#datepicker').datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
defaultDate: defaultDate, // set the default date of the picker
}).datepicker('setDate', defaultDate); // set the text date value of the input
// other code to run on document.ready...
});