Ottenere valore da JQUERY datepicker

Se desidero visualizzare il datepicker dell’interfaccia di JQUERY inline collegandolo a un DIV come $("div#someID").datepicker() – come accedere alla data scelta? Presumo che se non è associato a un INPUT , non verrà inviato con il modulo.

Immagino come follow-up, se ho bisogno di legarlo a un elemento INPUT, c’è un modo per controllare il posizionamento del datepicker rispetto all’elemento INPUT? Se volessi che il datepicker appaia sopra o sul lato dell’elemento invece che sotto, come potrei farlo?

Perdonami se questa risposta è davvero ovvia.

Se vuoi ottenere la data quando l’utente la seleziona, puoi farlo:

 $("#datepicker").datepicker({ onSelect: function() { var dateObject = $(this).datepicker('getDate'); } }); 

Non sono sicuro della seconda parte della tua domanda. Ma, hai provato a usare i fogli di stile e il posizionamento relativo?

È ansible utilizzare il metodo getDate :

 var d = $('div#someID').datepicker('getDate'); 

Questo ti darà un object Date in d .

Non ci sono opzioni per posizionare il popup ma potresti essere in grado di fare qualcosa con i CSS o l’evento beforeShow se necessario.

Puoi rimuovere l’attributo name di questo input, quindi non verrà inviato.

Per accedere al valore di questo controller:

 $("div#someID").datepicker( "getDate" ) 

e potresti dare un’occhiata al documento in http://jqueryui.com/demos/datepicker/

 $('div#someID').datepicker({ onSelect: function(dateText, inst) { alert(dateText); } }); 

è necessario associarlo solo all’elemento di input

Potresti farlo come segue – con la convalida solo per assicurarti che il datepicker sia associato all’elemento.

 var dt; if ($("div#someID").is('.hasDatepicker')) { dt = $("div#someID").datepicker('getDate'); } 

Per posizionare il Datepicker vicino al campo di input puoi usare il seguente codice.

 $('#datepicker').datepicker({ beforeShow: function(input, inst) { inst.dpDiv.css({marginLeft: input.offsetWidth + 'px'}); } }); 

Se gli elementi selezionati non sono uno, è necessario utilizzare in questo modo:

 $('[type="date"]').datepicker(); $('[type="date"]').change(function() { var date = $(this).datepicker("getDate"); console.log(date); });