2013-02-20 17 views
83

lat używam bootstrap datepicker i mój kod jest jak następujące, Demo kodu na jsfiddleBootstrap Datepicker - miesięcy i tylko

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

Powyższy kod działa poprawnie, ale to, co próbuję zrobić, to pozwól użytkownikom wybierać tylko miesiące i lata.

Czy możesz mi powiedzieć, jak to zrobić?

+0

Po prostu użyję dwóch wybranych pól ... byłoby to dużo bardziej sensowne niż używanie widgetu kalendarza i próba ukrycia faktycznego kalendarza. – bdares

+6

Czy nadal używasz dwóch pól wyboru, nawet jeśli masz taką opcję http://jsfiddle.net/Kz2sW/1/? :) –

Odpowiedz

190

Jak o tym:

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

referencyjny: Datepicker for Bootstrap


Dla wersji 1.2.0 i nowszych, viewMode zmienił się startView, więc używać:

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

także patrz the documentation.

+1

Dzięki, ale musiałem zastąpić 'format:" mm "' z 'format:" mm-rrrr "'. Działa teraz :) –

+0

Proszę również zmienić swoją odpowiedź –

+1

Nie pokazuje '-' między miesiącami a latami jeśli zachowasz spację przed' mm-rrrr' w 'formacie:" mm-rrrr ",', czy możesz edytuj swoją odpowiedź jeszcze raz? –

-2

Dlaczego nie nazwać $('.input-group.date').datepicker("remove"); gdy select jest zmieniana a następnie ustaw widok datepicker następnie wywołać $('.input-group.date').datepicker("update");

3

do najnowszej bootstrap-datepicker (1.4.0 w chwili pisania tego tekstu), musisz użyć tego:

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

Źródło: Bootstrap Datepicker Options

5

używam wersji 2 (obsługuje zarówno bootstrap v2 i v3) i dla mnie to działa:

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

zmienić 'minView' na' minViewMode' –

0

Używam startowej kalendarz dla przyszłej dacie nie pozwalają ze umożliwiają zmianę w miesiącach tylko & lat ..

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

trzeba dodać tylko minViewMode: "months" w funkcji datepicker.

Powiązane problemy