2011-01-11 5 views
7

Я использую плагин JQuery UI Datepicker, я пытаюсь получить выбранный день, месяц и год от datepicker в разных переменных (окончательное решение - назначить все 3 переменные для скрытых полей).Как получить выбранный день/месяц и год из jquery datepicker

Вот код:

 $(function() { 
     $("#_StartDate").datepicker(
      { 
       onSelect: function(dateText, inst) { 
        var startDate = new Date(dateText); 
        var selDay = startDate.getDay(); 
        alert(selDay); 
       } 
      } 
     ); 
    }); 

Я выбрал дату "1/10/2011" и возвращает "1". Я выбрал дату «1/25/2011», и он возвращает «2». Что я здесь делаю неправильно?

Благодарим за помощь!

+0

какого формата JQuery возвращает дату в datetext переменного? Это может отбрасывать объект Date. – Fahad

ответ

19

getDay возвращает день недели :)

Вы можете использовать:

getFullYear за год
GetDate день месяца
getMonth месяц из год

Полный список геттеров (от DevDocs):

Date.prototype.getDate() Возвращает день месяца (1-31) на указанную дату в соответствии с местным временем.
Date.prototype.getDay() Возвращает день недели (0-6) на указанную дату в соответствии с местным временем.
Date.prototype.getFullYear() Возвращает год (4 цифры для 4-значных лет) указанной даты в соответствии с местным временем.
Date.prototype.getHours() Возвращает час (0-23) в указанную дату в соответствии с местным временем.
Date.prototype.getMilliseconds() Возвращает миллисекунды (0-999) в указанную дату в соответствии с местным временем.
Date.prototype.getMinutes() Возвращает минуты (0-59) в указанную дату в соответствии с местным временем.
Date.prototype.getMonth() Возвращает месяц (0-11) в указанную дату в соответствии с местным временем.
Date.prototype.getSeconds() Возвращает секунды (0-59) в указанную дату в соответствии с местным временем.
Date.prototype.getTime() Возвращает числовое значение указанной даты как число миллисекунд с 1 января 1970 года, 00:00:00 UTC (отрицательное значение для предыдущих времен).
Date.prototype.getTimezoneOffset() Возвращает смещение временной зоны в минутах для текущей локали.
Date.prototype.getUTCDate() Возвращает день (дату) месяца (1-31) в указанную дату в соответствии с универсальным временем.
Date.prototype.getUTCDay() Возвращает день недели (0-6) в заданную дату в соответствии с универсальным временем.
Date.prototype.getUTCFullYear() Возвращает год (4 цифры для 4-значных лет) в заданную дату в соответствии с универсальным временем.
Date.prototype.getUTCHours() Возвращает часы (0-23) в заданную дату в соответствии с универсальным временем.
Date.prototype.getUTCMilliseconds() Возвращает миллисекунды (0-999) в заданную дату в соответствии с универсальным временем.
Date.prototype.getUTCMinutes() Возвращает минуты (0-59) в заданную дату в соответствии с универсальным временем.
Date.prototype.getUTCMonth() Возвращает месяц (0-11) в заданную дату в соответствии с универсальным временем.
Date.prototype.getUTCSeconds() Возвращает секунды (0-59) в заданную дату в соответствии с универсальным временем.
Date.prototype.getYear() Возвращает год (обычно 2-3 цифры) в указанную дату в соответствии с местным временем. Вместо этого используйте getFullYear() **.

+0

Узнай что-нибудь новое каждый день;) спасибо! – TheWebGuy

3

Его только возвращение .getDay() (день недели 0-6), вам нужно сделать что-то вроде:

var selDay = ... 
var selMon = startDate.getMonth(); 
var selYear = startDate.getYear(); 

Ссылка: http://www.w3schools.com/jsref/jsref_obj_date.asp

ПРИМЕЧАНИЕ

Обратите особое внимание к возвращаемому, getDay() -> 0-6 getMonth() -> 0-11 и т. д. все в ссылке, которую я предоставил.

0

Чтобы захватить Вэла из поля ввода:

var start_date=$('input#start_date').val(); 
Смежные вопросы