Dynamic date snippet

by Sparrow Squire

HTML

<select class="flexibility">
    <option value="">-- Select --</option>
    <option value="0">Exact date</option>
    <option value="1">+/- 1 day</option>
    <option value="2">+/- 2 days</option>
    <option value="3">+/- 3 days</option>
  </select>

JavaScript

$(document).ready(function() {
  $(".flexibility").on("change", function(){
     if ($('.flexibility option:selected').val() != "") {
       var days = parseInt($('.flexibility option:selected').val(), 10);
       var startDateStr = getDate(-days);
       var endDateStr = getDate(days);
    }
  });
});
  
Date.prototype.toInputFormat = function() {
   var yyyy = this.getFullYear().toString();
   var mm = (this.getMonth()+1).toString();
   var dd  = this.getDate().toString();
   return yyyy + "-" + (mm[1]?mm:"0"+mm[0]) + "-" + (dd[1]?dd:"0"+dd[0]);
};  

function getDate(offset) {
    var date = new Date('2017-05-15');//date dynamic from outboundDateTime
    date.setDate(date.getDate() + offset);
    date = date.toInputFormat();    
   	return date;
}