Использование
$('#myDate').datepicker('getDate')
Получит более надежный объект JavaScript с датой.Кроме того, getMonth () вернет месяц с нулевым индексом, поэтому июль будет возвращен как «6».Чтобы вернуть полный год, вы должны использовать: .getFullYear ()
Скорее всего, javascript "new Date ()" не проанализировал его в правильном формате даты.Если вы правильно установили форму даты в DatePicker, то виджет будет работать за вас, когда вы используете его метод 'getDate'.
Следовательно, ваш код станет:
var date = $("#myDate").datepicker('getDate');
alert(date.getDate()); // Day of the month
alert(date.getMonth()); // Month with a zero index
alert(date.getDay()); // Day of the week
alert(date.getFullYear()); // The "full" year, e.g. 2011
// Обновление с решением для списка выбора
Выбор правильного значения из раскрывающегося списка во многом будет зависеть от того, как настроены ваши значения.т.е. если значения:
<select id="MySelect">
<option value="1">Jan</option>
</select>
Тогда вы можете просто сделать:
$('#MySelect').val((date.getMonth() + 1));
Это выберет указанный месяц.Однако, если ваше значение представляет собой некоторую вариацию названия месяца, например:
<select id="MySelect">
<option value="Jan">Jan</option>
</select>
Тогда вам понадобится функция для сопоставления номера месяца с его именем, что-то вроде:
var months = ['Jan', 'Feb', 'Mar', ...etc }
function getMonthShortName(month) {
return months[month];
}
$('#MySelect').val(getMonthShortName(date.getMonth()));