2015-07-31 11 views
5

Desidero che un selettore sia impostato su un mese nel futuro per impostazione predefinita. Funziona bene:defaultDate e minDate con Bootstrap Datetimepicker

<script type="text/javascript"> 
    $(function() { 
    $('#enddatepicker').datetimepicker({ 
     defaultDate: moment().add(1, 'M').toDate(), 
     locale: 'de', 
     format: 'DD.MM.YYYY' 
    }); 
    }); 
</script> 

Tuttavia, voglio anche che la data non sia prima di domani. Così cerco di aggiungere un'opzione MinDate:

<script type="text/javascript"> 
    $(function() { 
    $('#enddatepicker').datetimepicker({ 
     minDate: moment().add(1, 'd').toDate(), 
     defaultDate: moment().add(1, 'M').toDate(), 
     locale: 'de', 
     format: 'DD.MM.YYYY' 
    }); 
    }); 
</script> 

Tuttavia, ora la data predefinita è impostata su MinDate (cioè domani). Posso impostare una data predefinita indipendentemente dalla data minima?

risposta

18

Guardando il codice sulla GitHub (linea 1674), se si imposta l'opzione useCurrent a false, predefinito non può essere ignorata:

<script type="text/javascript"> 
    $(function() { 
    $('#enddatepicker').datetimepicker({ 
     useCurrent: false, 
     minDate: moment().add(1, 'd').toDate(), 
     defaultDate: moment().add(1, 'M').toDate(), 
     locale: 'de', 
     format: 'DD.MM.YYYY' 
    }); 
    }); 
</script> 
+0

Grazie, ha funzionato per me! Diresti che dovrei ancora sollevare un problema (almeno perché la situazione sia esplicitamente documentata)? –

+0

Questa non è una cattiva idea. Se la documentazione viene modificata, allora per chiarire, altri potrebbero non avere lo stesso problema. – philreed

0

Per questo motivo, come minDate non è necessario sostituire defaultDate. Nel-frattempo, tutto quello che puoi fare è impostare il valore in modo esplicito:

$(function() { 
 
    $('#enddatepicker').datetimepicker({ 
 
     minDate: moment().add(1, 'd').toDate(), 
 
     locale: 'de', 
 
     format: 'DD.MM.YYYY' 
 
    }); 
 
    $('#enddatepicker').val(moment().add(1, 'M').format('DD.MM.YYYY')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
 
<script src="https://cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js"></script> 
 
<link href="https://cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/build/css/bootstrap-datetimepicker.css" rel="stylesheet"/> 
 

 
<div class="container"> 
 
    <div class="row"> 
 
    <div class="demo col-xs-6"> 
 
     <input class="form-control" id="enddatepicker"/> 
 
    </div> 
 
    </div> 
 
</div>

+0

'' minDate' ignora defaultDate' di proposito. Se 'min/maxDate' è prima o dopo 'defaultDate',' defaultDate' è una data non valida in base al set di opzioni – Eonasdan

-2

Prova con la proprietà Data di inizio, dopo aver controllato la mia jquery ho scoperto che non è il parametro MinDate ma parametro startDate per gestire minDate.it lavorerà per voi.

startDate: new Date(),

skype @ lokesh7676 per ottenere più aiuto

+0

-1 perché ... 1) La risposta sembra non essere corretta, AFAICT l'API è ancora 'minDate' e non' startDate', forse lo stai confondendo con una libreria diversa? 2) Pubblicare il tuo Skype non aiuta direttamente i visitatori. StackOverflow non è inteso per questo, sentiti libero di menzionarlo sul tuo profilo. 3) Il post manca di formattazione e grammatica. – Aidiakapi

Problemi correlati