2016-04-14 13 views
0

I Bedingung, dass, wenn ich einen Wert setzen, der jQueryUI picker zeigt Tage und wenn ich einen anderen Wert setzen, die Datepicker zeigt nur Monatenur wenige Monate auf Datumsauswahl zeigt

function setdate(q){ 
      var d=new Date(); 
      if (q==1){ 
       var type={ 
         0:"dd-mm-yyyy", 
         1:"days", 
       }; 
       d.setDate(d.getDate()-15); 
      } 
      else if (q==2){ 
       var type={ 
         0:"mm-yyyy", 
         1:"months", 
       }; 
       d.setDate(d.getDate()-30); 
      } 
      viewdate(d,type); 
     } 

     function viewdate(d,type){ 
      $('#from').datepicker({ 
         format: type[0], 
         startView:type[1], 
         minViewMode: type[1] 
        }); 
      $('#from').datepicker('setDate',d); 
      $('#till').datepicker({ 
         format: type[0], 
         startView:type[1], 
         minViewMode: type[1] 
        }); 
      $('#till').datepicker('setDate', new Date()); 

     } 

Aber wenn ich legte den Monaten Wert Der Datapicker zeigt immer noch Tage an.

Antwort

0

Die Option wird nicht aufgerufen, format aber dateFormat (siehe docs):

$('#from').datepicker({ 
    dateFormat: type[0], 
    ... 

Zweitens, wenn die datepicker wurde bereits initialisiert Sie die option Parameter hinzufügen müssen, sonst hat der Aufruf keine Wirkung.

$('#from').datepicker('option', { 
    dateFormat: type[0], 
    ... 

Beachten Sie auch, dass im Formatstring yy verwendet wird, ein vierstelliges Jahr anzuzeigen (yyyy würde das Jahr angezeigt werden zweimal).

+0

hhmmm, immer noch nicht funktioniert. Stattdessen ändert sich das Datumsformat in TT/MM/JJJJ. – sidzaky

+0

@sidzaky siehe meine Bearbeitung, wahrscheinlich müssen Sie den 'Option' Parameter – wero

+0

gleichen meinen ersten Kommentar hinzufügen. – sidzaky

Verwandte Themen