Bootstrap 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'
    });

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

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

7 ответов


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

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

ссылки : Datepicker для начальной загрузки


для версии 1.2.0 и выше viewMode изменился на startView, Так что использовать:

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

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


обратите внимание, что в версии 1.2.0 в viewMode изменился на startView.

например:

$('#sandbox-container input').datepicker({
  startView: 1,
  minViewMode: 1
});

http://eternicode.github.io/bootstrap-datepicker/?markup=component&format=yyyy&weekStart=&startDate=&endDate=&startView=2&minViewMode=2&todayBtn=false&language=zh-CN&orientation=auto&autoclose=on&forceParse=on#sandbox


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

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

за последние bootstrap-datepicker (1.4.0 на момент написания), вы должны использовать это:

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

источник: Параметры Начальной Загрузки Datepicker


вы должны добавить только minViewMode: "months" в вашей функции datepicker.


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

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()
        });

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