2013-06-03 6 views
6

Ho un datepicker che è su un campo di input,
data di default quando l'ho aperto che è la data di oggi, che è quello che voglio.
Tuttavia quando seleziono una data e ho chiaro il campo di input,
il DatePicker ha ancora la data selezionata su di esso, che non voglio: p

Qualcuno ha un idea del perché questo accade e come mi può prevenire questo comportamento?jQuery UI datepicker data di reset

Thx,

J.

+4

inserisci il tuo codice per favore. – vlio20

+0

Cosa intendi per selezionare una data e cancellare il campo di input? è che stai cancellando direttamente il campo di input senza richiamare datepicker su quel campo e cancellandolo? – dreamweiver

+1

Usa $ .datepicker._clearDate (questo); qui questo è il tuo campo di immissione – Dineshkani

risposta

6

Vedere http://codepen.io/alexgill/pen/yOQrwV

$(SELECTOR).datepicker('setDate', null); 
+1

Questa è un'API privata, potrebbe interrompersi in qualsiasi momento senza avvisi ... – gamov

+0

esattamente, _ L'API è sempre privata –

35

Il modo corretto di reimpostare la data di un widget Datepicker è come questo:

$.datepicker._clearDate('#input_field_goes_here'); 

O come questo :

$('#input_field_goes_here').datepicker('setDate', null); 

Qualunque sia la soluzione migliore per te.

+0

+1, ottima risposta – SagarPPanchal

+3

La seconda è la più ufficiale risposta. L'utilizzo dell'API privata è una cattiva idea. –

+0

concordato. Il secondo è il migliore. – nurider

2

Cancella pulsante nel calendario.

$("#txtCalendar").datepicker({ 
     showButtonPanel: true, 
     closeText: 'Clear', 
     onClose: function (dateText, obj) { 
      if ($(window.event.srcElement).hasClass('ui-datepicker-close')) 
       $("#txtCalendar").val(''); 
     } 
    }); 
+2

grande ma cambiato $ ("# txtCalendar"). Val (''); a $ (this) .val (''); per più istanze –

0

Basta aggiungere questo codice

}).keyup(function(e) { 
    if(e.keyCode == 8 || e.keyCode == 46) { 
     $.datepicker._clearDate(this); 
    } 
}); 

È possibile utilizzare backspace per cancellare campo anche se è in modalità di sola lettura. Source