2011-02-07 18 views
64

Deseo obtener la fecha de datepicker cada vez que el usuario elija la fecha en jQuery UI datepicker y haga clic en el botón en el formulario.Cómo obtener la fecha de jQuery UI datepicker

Bueno, necesito obtener el día, mes y año de la fecha que elijan. ¿Cómo puedo obtener la fecha de jQuery UI?

Respuesta

92

Uso

$(your_datepicker_id).datepicker("getDate") 
76

Puede recuperar la fecha mediante el uso de la función getDate:

$("#datepicker").datepicker('getDate'); 

El valor se devuelve como un objeto Date de JavaScript.

Si desea utilizar este valor cuando el usuario selecciona una fecha, puede utilizar el evento onSelect:

$("#datepicker").datepicker({ 
    onSelect: function(dateText, inst) { 
     var dateAsString = dateText; //the first parameter of this function 
     var dateAsObject = $(this).datepicker('getDate'); //the getDate method 
    } 
}); 

El primer parámetro es en este caso la fecha seleccionada como cadena. Use parseDate para convertirlo en un objeto de fecha JS.

Consulte http://docs.jquery.com/UI/Datepicker para obtener la referencia jQuery UI DatePicker completa.

15

probar esto, funciona como encanto, da la fecha que haya seleccionado. forma onsubmit tratar de conseguir este valor: -

var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val(); 

Reference here

0

A veces una gran cantidad de problemas con él. En el valor del atributo de datapicker data es 28-06-2014, pero datepicker se muestra o hoy o nada. Decidí que de manera tal:

<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" /> 

I añadieron a la entrada de datapicker datos-valor de atributo, porque si llamada jQuery (esto) .val() O jQuery (esto) .attr (' value ') - nada funciona. Decidí init en el ciclo de cada datapicker y tomo su valor del atributo de datos del valor:

$("form .datepicker").each(function() { 
     var time = jQuery(this).data('value'); 
     time = time.split('-'); 
     $(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0)); 
    }); 

y es funciona bien =)

+0

esto solo funcionará si su formato de fecha es d-m-Y ... si tiene m-d-Y o cualquier otro formato, ¡está sucio! –

0

respuesta de NamingException trabajó para mí. Excepto Solía ​​

var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()

datepicker no funcionaba, pero dtpicker lo hicieron.

Cuestiones relacionadas