Ho un jQuery datepicker funzione legata al elemento di input html "compleanno", scritto nella pagina di intestazione:jQuery DatePicker non funziona su un AJAX aggiunto elemento HTML
<script type="text/javascript">
$(function() {
$("#birthday").datepicker();
});
</script>
Avanti, ho un po 'di AJAX funzionalità - aggiunge un nuovo elemento html di input alla pagina. Tale elemento è:
<input type="text" id="birthday" value="" class="detail-textbox1" />
Cliccando su quel compleanno elemento non comparirà il selettore data sotto il campo di testo. Mi aspettavo questo, poiché l'elemento viene aggiunto dopo che la pagina è stata caricata, quindi non è in relazione con la funzione fornita nell'intestazione.
Come posso farlo funzionare? Ho provato a spostare lo script dall'intestazione al corpo, ma niente sembra funzionare. Grazie.
P.S. Se creo un elemento html di input con id = "birthday" nel corpo della pagina, everythig funziona come previsto. Sembra che solo gli elementi aggiunti tramite AJAX siano disfunzionali.
Grazie JK. L'uso di .live() risolve il problema. Invece del tuo esempio, ho usato $ ('# compleanno'). Live ('focus', function() {$ (this) .datepicker();}); – Boris
@Boris la funzione .datepicker() crea il selettore, quindi è necessario chiamarlo solo una volta. Ma non farà molto male credo che lo faccia ogni volta a fuoco (ma è meno efficiente di quanto potrebbe essere). –
se cambio 'focus' in 'load' non funziona affatto. Inoltre, ho notato che quando registro il datepicker e il tab out (senza scegliere alcun valore), nessuno dei miei script AJAX/php funziona. ?!?! Che cosa sto facendo di sbagliato? – Boris