2015-06-23 12 views
5

Sto tentando di reimpostare la data selezionata sul clic del pulsante, ma finora sono in grado di cancellare l'elemento input, senza la data effettiva sul selettore. Il seguente codice reimposta tutto, inclusa la configurazione e la data, quindi ovviamente non è quello che mi serve.Bootstrap 3 DatePicker - Come reimpostare la data selezionata senza reimpostare la configurazione del selettore?

$('#datepicker').datepicker('update',''); //resets everything 

Per elaborare: l'utente può selezionare solo una data 7 giorni dal giorno corrente. C'è anche un pulsante che consente all'utente di cancellare la data selezionata dal selezionatore e selezionarne una nuova. In questo momento, la funzione di cancellazione può solo cancellare l'elemento di input dal selettore (ma non la data effettiva nell'elemento di selezione), o per cancellare la selezione CON la configurazione del selettore (ad esempio, startDate: "+ 7d". cancellare solo la data selezionata, senza resettare tutto

jsfiddle

Questo è quello che mi è venuto in mente finora:.
HTML:

<div id="myDatepicker" class="input-group date"> 
    <input type="text" class="form-control" id="datepick"> 
    <span class="input-group-addon"> 
    <i class="fa fa-calendar"></i> 
    </span> 
    <a href="#" id="duration_tag"></a> 
</div> 
<button type="button" id="clear">clear</button> 

jQuery:

$(document).ready(function() { 

$("#clear").click(function(){ 
    $('#datepick').val(" ").datepicker({startDate: "+7d"});     
}); 

$('#myDatepicker').datepicker({ 
        startDate: "+7d", 
       }); 

$('#myDatepicker').on('changeDate', function(e){ 
    $(this).datepicker('hide'); 
}); 

}); 
+0

si può essere un po 'più specifico in quanto è difficile dedurre che cosa esattamente si sta cercando di ottenere .. – Arcanyx

+0

Certo. L'utente può selezionare solo una data di 7 giorni dal giorno corrente. C'è anche un pulsante che consente all'utente di cancellare la data selezionata dal selezionatore e selezionarne una nuova. In questo momento, la funzione di cancellazione può solo cancellare l'elemento di input dal selettore (ma non la data effettiva nell'elemento di selezione), o cancellare la selezione WITH dalla configurazione del selettore (ad esempio 'startDate:" + 7d "'. I vuoi cancellare solo la data selezionata, senza azzerare tutto. – undroid

+0

cosa reset in realtà significa? Impostare data per data corrente o qualsiasi altra configurazione.Puoi impostare datepicker alla data corrente. $ ("# myDatepicker"). datepicker ("setDate", new Date()); –

risposta

12

È necessario ottenere l'istanza attuale datePicker e chiamare setDate(null) su di esso. si può fare in questo modo:

$("#clear").click(function(){ 
    $('#myDatepicker').data('datepicker').setDate(null); 
}); 

violino aggiornamento: http://jsfiddle.net/4L6fhjLf/2/

5
$('#myDatepicker').data('DateTimePicker').date(null); 
+0

questo è ottimo e funziona meglio di '$ (" # myDatepicker "). children(). val (''); ' – yami

+0

Grazie mille aiuta molto –

Problemi correlati