bootstrap - JQuery Datepicker-Agregar años
datetimepicker jquery (3)
Intenta usar el setFullYear
y 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);
}
});
Aquí hay un ejemplo de trabajo: http://jsfiddle.net/andrewwhitaker/Dvd5C/
He agregado el control JQuery Datepicker a una de mis páginas ASP.Net. La página le permite al usuario agregar detalles sobre un equipo.
También pueden seleccionar la fecha en que compraron el equipo usando el Datepicker, luego de una lista desplegable, seleccionar la duración de la garantía (es decir, 1,2,3,4,5 años, etc.) que viene con el equipo. En función de la duración de la garantía que hayan seleccionado, necesito el código de JQuery para calcular la fecha de vencimiento de la garantía del equipo, es decir, si se compró el 21/02/2011, con una garantía de 3 años, la garantía caducará el 21/02/2014.
He analizado los otros ejemplos de Datepicker en este sitio, pero ninguno parece mostrar cómo agregar años a una fecha, sino solo cómo agregar días.
Este es mi código hasta ahora
$(''#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);
}
});
Sin embargo, esto no parece funcionar correctamente.
Cualquier comentario sería muy apreciado.
Gracias.
Probablemente tenga que definir el selector de fecha y hora para el otro campo:
$(''#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);
}
});
Lo he cambiado un poco.
var incrementmonth = $("#<%=calPlannedCompletionDate.ClientId%>").datepicker(''getDate'', +12m'');
incrementmonth.setMonth(incrementmonth.getMonth() + 12);
$("#<%=calPlannedCompletionDate.ClientId%>").datepicker(''setDate'', incrementmonth);