chiamare un valore di funzioni

Possibile duplicato:
Attivazione anticipata della funzione

Ho innescato questo codice, ma perché mai mi starebbe allertando che è indefinito anche se non ho mai avuto la possibilità di fare clic e selezionare una data dal selettore di date dell’interfaccia utente quando chiamo la funzione test ()?

Non sembra avere senso con me?

var sdate function test() { alert(select_date()) } function select_date() { $('#dd').dialog({ autoOpen: true, modal: true, overlay: { opacity: 0.5, background: 'black' }, title: "title", height: 265, width: 235, draggable: false, resizable: false }); //end of dialog $('#d1').datepicker({ onSelect: function() { sdate = $(this).val(); $("#dd").dialog("close"); } }); return sdate }​ 

onSelect è un callback di un evento, stai cercando di restituire un valore prima che sappia cosa fare. non sarà ansible avere il tuo test() restituire il valore, perché verrà dopo.

dovresti fare il tuo avviso o qualsiasi altra logica dall’interno del callback dell’evento:

 $('#d1').datepicker({ onSelect: function() { sdate = $(this).val(); $("#dd").dialog("close"); alert(sdate); // or your own function someOtherTest(sdate); } }); 

 function someOtherTest(date) { alert(date); }