Я добавил элемент управления JQuery Datepicker на одну из моих страниц ASP.Net. На странице пользователь может добавить подробную информацию об оборудовании.
Они также могут выбрать дату покупки оборудования с помощью Datepicker, а затем из раскрывающегося списка выбрать срок гарантии (например, 1,2,3,4,5 лет и т. Д.), Которая поставляется с оборудованием. В зависимости от срока гарантии, который они выбрали, мне нужен код JQuery для определения даты истечения срока гарантии для Оборудования, т. Е. При покупке 21 февраля 2011 года с трехлетней гарантией срок действия гарантии истекает 21 февраля 2014 года.
Я просмотрел другие примеры Datepicker на этом сайте, но, похоже, ни один из них не показывает, как добавлять годы к дате, а только как добавлять дни.
Это мой код пока
$('#equipment_purchaseDate').datepicker({ dateFormat: 'dd/mm/yy', onSelect: function (dateStr) {
var d = $.datepicker.parseDate('dd/mm/yy', dateStr);
d.setDate(d.getDate() + ($('#equipment_warrantyLength').val() * 365)); //multiple warranty length by 365 to get years, then add to startDate
$('#equipment_warrentyExpires').datepicker('setDate', d);
}
});
Однако, похоже, это не работает правильно.
Любая обратная связь будет высоко ценится.
Спасибо.
3 ответа
Попробуйте использовать setFullYear
Date > и getFullYear
:
$("#equipment_purchaseDate").datepicker({
dateFormat: 'dd/mm/yy',
onSelect: function(dateStr) {
var d = $.datepicker.parseDate('dd/mm/yy', dateStr);
var years = parseInt($("#equipment_warrantyLength").val(), 10);
d.setFullYear(d.getFullYear() + years);
$('#equipment_warrentyExpires').datepicker('setDate', d);
}
});
Вот рабочий пример: http://jsfiddle.net/andrewwhitaker/Dvd5C/
Вероятно, вам нужно определить средство выбора даты и времени для другого поля:
$('#equipment_warrentyExpires').datepicker({ dateFormat: 'dd/mm/yy' });
$('#equipment_purchaseDate').datepicker({ dateFormat: 'dd/mm/yy',
onSelect: function (dateText, inst) {
alert(dateText);
var d = $.datepicker.parseDate('dd/mm/yy', dateText);
alert(d);
d.setDate(d.getDate() + ($('#equipment_warrantyLength').val() * 365)+1);
//multiple warranty length by 365 to get years, then add to startDate
$('#equipment_warrentyExpires').datepicker('setDate', d);
}
});
Я немного изменил это.
var incrementmonth = $("#<%=calPlannedCompletionDate.ClientId%>").datepicker('getDate', +12m');
incrementmonth.setMonth(incrementmonth.getMonth() + 12);
$("#<%=calPlannedCompletionDate.ClientId%>").datepicker('setDate', incrementmonth);
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.