2010-08-17 3 views
6

Привет, я уверен, что должен быть простой способ сделать это, но не можете найти способ установить его в любом месте.jQuery datepicker, отключить выбор месяца

Я пытаюсь отключить кнопки влево/вправо, которые позволяют пользователю менять месяцы. Я удалил выпадающий список месяцев, но не могу избавиться от кнопок.

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

ответ

10

Вы можете эффективно отключить их с помощью stepMonths, сделав их никуда при нажатии, как это:

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

You can give it a try here

Или, вы можете удалить кнопки, как это:

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

You can give that a try here, t его работы, потому что опция showOn по умолчанию - focus, если вы используете другое событие, просто связывайтесь с этим после того, как звонит .datepicker() (поэтому его запуск начинается первым, вы не можете скрыть то, что еще не создано).

+0

Спасибо, Ник, они оба сделали трюк, но пошли с удалением кнопок alltog эфир. – JBoom

0

Я не знаю, как это сделать непосредственно в jQuery (или, если возможно).

Но если вы не можете найти способ сделать это там, вы всегда можете просто скрыть кнопки в css.

В CSS селекторы, которые вы хотите являются (из памяти, так что вам может понадобиться проверить)

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

Указанное решение не работает для меня, я разработаны так:

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

Это мой способ сделать 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); 
        } 
      }); 
Смежные вопросы