JQuery Datepicker - добавить годы - PullRequest
       18

JQuery Datepicker - добавить годы

1 голос
/ 21 февраля 2011

Я добавил элемент управления JQuery Datepicker на одну из моих страниц ASP.Net.Страница позволяет пользователю добавлять детали об элементе оборудования.

Они также могут выбрать дату покупки оборудования с помощью Datepicker, а затем в раскрывающемся списке выбрать срок гарантии (т. Е. 1,2,3,4,5 года и т. Д.), Который идет соборудование.Исходя из выбранной ими продолжительности гарантии, мне нужен код JQuery, чтобы определить дату истечения срока гарантии на оборудование, т. Е. Если куплено 21/02/2011, гарантия 3 года, то гарантия истекает 21/02/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 ]

5 голосов
/ 21 февраля 2011

Попробуйте использовать Date setFullYear и 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/

1 голос
/ 21 февраля 2011

Вы, вероятно, должны определить средство выбора даты и времени для другого поля:

$('#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);
  } 
});

Я немного изменил.

0 голосов
/ 18 октября 2014
var incrementmonth = $("#<%=calPlannedCompletionDate.ClientId%>").datepicker('getDate', +12m');
incrementmonth.setMonth(incrementmonth.getMonth() + 12);
$("#<%=calPlannedCompletionDate.ClientId%>").datepicker('setDate', incrementmonth);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...