2011-03-08 4 views
7

Можно ли получить день недели из события onSelect от datepicker.jQuery ui datepicker, получить День недели с onSelect

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

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

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

ответ

13

Это должно сделать трюк:

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

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

+0

Ты кровавый гений !!! Спасибо! – SteveCl

3

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

+1

Спасибо, чувак, волшебники, много ya! – SteveCl

5

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

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

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

Смежные вопросы