2011-03-08 15 views
7

¿Es posible obtener el día de la semana del evento onSelect del datepicker?jQuery ui datepicker, obtener el día de la semana desde onSelect

Sé que puedo obtener el día del mes, pero quiero el día de la semana. Incluso el índice del día estará bien, p. 0-6.

Sé que puede obtenerlo en el evento beforeShowDay (o similar), pero tengo que reaccionar de manera diferente según el día de la semana elegido. Tiene que ver con establecer los horarios de apertura.

Pude tocar el servidor y descubrirlo, pero eso no va a volver lo suficientemente rápido ... lo ideal es que lo haga todo en el cliente.

Respuesta

13

Esto debería hacer el truco:

function(event, ui) { 
    var date = $(this).datepicker('getDate'); 
    var dayOfWeek = date.getUTCDay(); 
}; 

Esto tiene la ventaja de no tener que analizar lo que sea arbitraria formato de fecha que ha elegido para campo de texto del selector de fechas - el método getDate devuelve un Javascript nativo Date objeto que luego puede extraer fácilmente los campos de fecha que necesita.

+0

¡Eres un maldito genio! ¡¡Gracias !! – SteveCl

5

Además, si desea el nombre real del día de la semana (sin utilizar el índice getUTCDay en una matriz de algo como ['Sunday', 'Monday', ...], puede usar el objeto datepicker sí a dar esto a usted, como a continuación

var curDate = $(this).datepicker('getDate'); 
var dayName = $.datepicker.formatDate('DD', curDate); 

esto también se puede utilizar para conseguir un día abreviada del nombre de la semana (M), largo o corto día del mes (MM o M) mediante la sustitución de DD de sea ​​cual sea el componente que buscas.

Cuestiones relacionadas