jQuery datepicker,禁用月份选择

嗨,我敢肯定必须有一个简单的方法来做到这一点,但找不到任何地方设置它的选项。

我正在尝试禁用允许用户更改月份的左/右按钮。 我删除了几个月的下拉列表,但无法摆脱按钮。

$("#date").datepicker({ changeMonth: false, changeYear: false, dateFormat: 'dd/mm/yy', duration: 'fast' }); 

您可以使用stepMonths有效地禁用它们,使它们在单击时无处stepMonths ,如下所示:

 $("#date").datepicker({ changeMonth: false, changeYear: false, dateFormat: 'dd/mm/yy', duration: 'fast', stepMonths: 0 }); 

你可以在这里尝试一下

或者,你可以删除这样的按钮:

 $("#date").datepicker({ changeMonth: false, changeYear: false, dateFormat: 'dd/mm/yy', duration: 'fast' }).focus(function() { $(".ui-datepicker-prev, .ui-datepicker-next").remove(); });​ 

你可以在这里尝试一下 ,这是有效的,因为默认的showOn选项是focus ,如果你使用的是另一个事件,只需在.datepicker()调用之后绑定它(所以它的事件首先运行,你无法隐藏什么还没有创造)。

上述解决方案对我不起作用,我开发了这个:

 $('#datepicker').find('.ui-datepicker-next').remove(); $('#datepicker').find('.ui-datepicker-prev').remove(); 

这是我使用datepicker选择年份的方法:

 if (document.styleSheets[0].addRule) { document.styleSheets[0].addRule(".ui-datepicker-calendar", "display: none;"); else { document.styleSheets[0].insertRule(".ui-datepicker-calendar {display: none;}", 0); } .datepicker({ dateFormat: 'yy', showMonthAfterYear: false, changeMonth: false, changeYear: true, showButtonPanel: true, stepMonths: 12, monthNames: ["", "", "", "", "", "", "", "", "", "", "", "", "", ""], onChangeMonthYear: function (year) { $(this).val(year); } }); 

我不知道如何直接在jQuery中(或者如果可能的话)。

但是如果你在那里找不到办法,你可以随时隐藏css中的按钮。

你想要的css选择器是(从内存中你可能需要检查)

 .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { display:none; }