jQuery datepicker, отключить выбор месяца
Привет я уверен, что там должен быть простой способ сделать это, но не могу найти возможность установить его в любом месте.
Я пытаюсь отключить левую / правую кнопки, которые позволяют пользователю изменять месяцы. Я удалил выпадающий список месяцев, но не могу избавиться от кнопок.
$("#date").datepicker({
changeMonth: false,
changeYear: false,
dateFormat: 'dd/mm/yy',
duration: 'fast'
});
4 ответов
вы можете эффективно отключить их с помощью 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();
});
вы можете попробовать здесь, это работает, потому что по умолчанию - это focus
, если вы используете другое событие, просто привязать к этому после the .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;
}