2012-03-01 15 views
11

Kod standard DatePicker jest:Jak uruchomić jQuery UI DatePicker onclick?

<script> 
    $(function() { 
     $("#datepicker").datepicker(); 
    }); 
</script> 
<p>Date: <input type="text" id="datepicker"></p> 

Jak uruchomić datepicker zdarzenie onclick z inline html, mam na myśli

<input ... onclick="" > 

i bez osobnego kodu JS?

Próbowałem:

<p>Date: <input type="text" id="datepicker" onclick="$(function() {$('#datepicker').datepicker();});"></p> 

Ale to działa tylko na drugim kliknięciem.

Jak to działa przy pierwszym kliknięciu?

Dzięki.

+0

Oto odpowiedź jak to zrobić http://stackoverflow.com/a/1127215/1078487 –

+0

dzięki. Właśnie zaktualizowałem q: Jak uruchomić zdarzenie onclick datepicker z wbudowanego html ihtus

+0

niezbyt dobry pomysł, i nie może być żadnego powodu, dla którego musi być on-line onclick bez żadnego innego kodu datepicker na stronie – charlietfl

Odpowiedz

10
<p>Date: <input type="text" id="dp" onclick="$('#dp').datepicker();$('#dp').datepicker('show');"></p>​ 

że praca przez dowolny szansa?

Nie jestem ekspertem, ale wydaje mi się, że musiałeś kliknąć dwa razy, ponieważ pierwsze kliknięcie tylko zainicjowało je jako datepicker. Po tej inicjalizacji zachowuje się jak normalny datepicker, niezależnie od onclick.

+0

dzięki! to się udało! from docs: datepicker ("show") - wywołaj poprzednio dołączony selektor dat. Tak więc "$ (" # dp "). Datepicker()" - inicjalizacja; – ihtus

+0

dzięki! to się udało! from docs: datepicker ("show") - wywołaj poprzednio dołączony selektor dat. 1. Więc "$ (" # dp "). Datepicker()" - inicjalizacja; 2. $ ('# dp'). Datepicker ('show'); - force pokazujący datepicker. Czy to prawda? – ihtus

+0

Tak, właśnie to robi. Uważam, że nie jest to najlepsza praktyka, ale w zależności od tego, jak działa twój program, możesz chcieć spojrzeć na funkcję .live w jQuery? W każdym razie cieszę się, że pomogło. – Nick

2

Po utworzeniu datepicker, otwórz go w ten sposób:

$('#datepicker').datepicker('show') 

idź do datepicker docs API spojrzeć na karcie metod, to wszystko tam

+0

jak widać w q: Wiem, jak go używać z oddzielnym kodem js. Moim celem jest wykorzystanie inline onlclick = "" wykonanie zdarzenia. – ihtus

1

Spróbuj ten kod:

<script> 
$(function() { 
    $("#datepic").datepicker({ showOn: 'button',buttonImage: 'image/calendar.gif'}); 

}); 
</script> 

<input type="text" id="datepic" />