jQuery UI DatePicker, получить День недели от onSelect - PullRequest
9 голосов
/ 08 марта 2011

Можно ли получить день недели из события onSelect средства выбора даты.

Я знаю, что могу получить день месяца, но мне нужен день недели.Даже с индексом дня все будет в порядке, например, 0-6.

Я знаю, вы можете получить его в событии beforeShowDay (или аналогичном), но мне нужно реагировать по-разному в зависимости от выбранного дня недели.Это связано с настройкой времени открытия.

Я мог бы поразить сервер и узнать, но это не вернется достаточно быстро ... в идеале, я хочу, чтобы все это было сделано на клиенте.

Ответы [ 3 ]

15 голосов
/ 08 марта 2011

Это должно сработать:

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

Преимущество этого в том, что вам не нужно анализировать произвольный формат даты, выбранный вами для текстового поля Datepicker - метод getDate возвращает собственный JavascriptDate объект, который вы можете легко извлечь нужные поля даты.

6 голосов
/ 11 сентября 2013

Кроме того, если вам нужно фактическое имя дня недели (без использования индекса getUTCDay в массиве чего-то вроде ['Sunday', 'Monday', ...], вы можете использовать сам объект datepickerчтобы дать вам это, как показано ниже

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

Это также можно использовать для получения сокращенного дня названия недели (M), длинного или короткого дня месяца (MM или M) путем замены DDдля любого компонента, который вы ищете.

3 голосов
/ 08 марта 2011

Я бы onSelect преобразовал значение текстового поля в дату javascript и использовал getUTCDay () для получения значения дня недели http://www.w3schools.com/jsref/jsref_getutcday.asp

...