Reputation: 4569
Is it possible to get the day of the week from the onSelect event of the datepicker.
I know I can get the day of the month, but I want the day of the week. Even just the day index will be fine e.g. 0-6.
I know you can get it in the beforeShowDay (or similar) event, but I need to react differently depending on the day of the week chosen. It's to do with setting the opening times.
I could hit the server and find out, but that is not going to come back fast enough...ideally i want it all done on the client.
Upvotes: 10
Views: 41831
Reputation: 2519
Also, if you want the actual name of the day of the week (without using the getUTCDay index into a array of something like ['Sunday', 'Monday', ...], you can use the datepicker object itself to give this to you, like below
var curDate = $(this).datepicker('getDate');
var dayName = $.datepicker.formatDate('DD', curDate);
This can also be used to get a shortened day of the week name (M), long or short day of the month (MM or M) by substituting DD for whatever component you're after.
Upvotes: 6
Reputation: 339816
This should do the trick:
function(event, ui) {
var date = $(this).datepicker('getDate');
var dayOfWeek = date.getUTCDay();
};
This has the advantage of not needing to parse whatever arbitrary date format you've chosen for the Datepicker's text field - the getDate
method returns a native Javascript Date
object which you can then easily extract the date fields you need.
Upvotes: 18
Reputation: 15958
I would onSelect convert the value of the textbox to be a javascript date and the use getUTCDay() to get the value of the day of the week. http://www.w3schools.com/jsref/jsref_getutcday.asp
Upvotes: 3