jQuery ui datepicker, get Day of week from onSelec

2019-02-06 18:18发布

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.

3条回答
叼着烟拽天下
2楼-- · 2019-02-06 18:41

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.

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-02-06 18:46

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

查看更多
在下西门庆
4楼-- · 2019-02-06 18:57

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.

查看更多
登录 后发表回答