Bootprap Datepicker - только месяцы и годы

Я использую bootstrap datepicker, и мой код похож на следующий, демонстрация кода на jsfiddle

<div class="input-append date" id="datepicker" data-date="02-2012" 
     data-date-format="mm-yyyy">

 <input  type="text" readonly="readonly" name="date" >    
 <span class="add-on"><i class="icon-th"></i></span>      
</div>      


$("#datepicker").datepicker({
        viewMode: 'years',
         format: 'mm-yyyy'
    });

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

Не могли бы вы рассказать мне, как это сделать?

Ответ 1

Как насчет этого:

$("#datepicker").datepicker( {
    format: "mm-yyyy",
    viewMode: "months", 
    minViewMode: "months"
});

Ссылка: Datepicker для Bootstrap


Для версии 1.2.0 и новее viewMode изменилось на startView, поэтому используйте:

$("#datepicker").datepicker( {
    format: "mm-yyyy",
    startView: "months", 
    minViewMode: "months"
});

Также см. документацию.

Ответ 3

Я использую версию 2 (поддерживает как bootstrap v2, так и v3), и для меня это работает:

$("#datepicker").datepicker( {
    format: "mm/yyyy",
    startView: "year", 
    minView: "year"
});

Ответ 4

Для последнего bootstrap-datepicker (1.4.0 на момент написания) вам необходимо использовать это:

$('#myDatepicker').datepicker({
    format: "mm/yyyy",
    startView: "year", 
    minViewMode: "months"
})

Источник: Параметры настройки Bootprap Datepicker

Ответ 5

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

var j = jQuery.noConflict();
        j(function () {
            j(".datepicker").datepicker({ dateFormat: "dd-M-yy" }).val()
        });

        j(function () {
            j(".Futuredatenotallowed").datepicker({
                changeMonth: true,
                maxDate: 0,
                changeYear: true,
                dateFormat: 'dd-M-yy',
                language: "tr"
            }).on('changeDate', function (ev) {
                $(this).blur();
                $(this).datepicker('hide');
            }).val()
        });

Ответ 6

Вам нужно добавить только minViewMode: "months" в функцию datepicker.

Ответ 7

Почему бы не вызвать $('.input-group.date').datepicker("remove"); при изменении оператора select, а затем установить представление datepicker, а затем вызвать $('.input-group.date').datepicker("update");