2012-10-02 13 views

Odpowiedz

3
inputs.on('blur', function() { 
     inputs.datepicker('hide'); 
    }); 
+2

Niestety to działa częściowo, ponieważ datepicker jest ukryty ale data nie jest wypełnione w wejściu. –

8

można spróbować to:

var inputs = $('.datepicker').datepicker({ 
format: 'yyyy-mm-dd', 
autoclose: true}).on('changeDate', function (ev) { 
     $(this).blur(); 
     $(this).datepicker('hide'); 
    }); 

Fiddle: http://jsfiddle.net/KLpq7/82/

+1

To jest poprawna odpowiedź i powinna być oznaczona jako taka. Odpowiedź od AntoJs sprawia, że ​​wybieranie daty jest niemożliwe, ponieważ zdarzenie blur zostaje wywołane, zanim kliknięcie może ustawić wartość daty na wejściu. – mikeschuld

+0

Jeśli rozwiązałeś, rozważ zaakceptowanie odpowiedzi –

1

Spróbuj this zaktualizowaną skrzypce. Myślę, że odkąd używasz selektora klasy, było kilka konfliktów w procedurze obsługi zdarzeń blur. Oddzieliłem każdy selektor kalendarza według identyfikatora i wygląda na to, że teraz działa dobrze.

2

To jest known bug * - jeśli użyjesz "datepicker" jako klasy dla swoich wejść, będzie to kolidowało z kodem datepika, ponieważ datepicker jest również klasą używaną w panelu wyboru. Używanie innej klasy dla osób zajmujących się zbieraniem powinno rozwiązać problem na teraz.

* Nie ma żadnych otwarte bilety dla niego w tej chwili, ale to jest uznawane jako drobny błąd