我正在尝试禁用允许用户更改月份的左/右按钮。我已经删除了月份的下拉列表,但无法摆脱按钮。
$("#date").datepicker({
changeMonth: false,
changeYear: false,
dateFormat: 'dd/mm/yy',
duration: 'fast'
});
我正在尝试禁用允许用户更改月份的左/右按钮。我已经删除了月份的下拉列表,但无法摆脱按钮。
$("#date").datepicker({
changeMonth: false,
changeYear: false,
dateFormat: 'dd/mm/yy',
duration: 'fast'
});
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();
我不知道如何直接在 jQuery 中执行此操作(或者如果可能的话)。
但是如果你找不到办法在那里做,你总是可以把按钮隐藏在 css 中。
您想要的 css 选择器是(来自内存,因此您可能需要检查)
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next
{
display:none;
}
这是我让 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);
}
});