You are viewing limited content. For full access, please sign in.

Question

Question

Javascript date format- yyyy-mm-dd

asked on May 12, 2017 Show version history

Hi All

I have JavaScript code to restrict the date input in a date picker (.DateTo) to be only greater than another date picker (.DateFrom) selection for the format M/d/yyyy, this code works but it does not work for the format  yyyy-mm-dd.

How can i tweak my code to achieve this ?

 

$(document).ready(function(){

  function updateMinimumEndDate () 
  {
    var minimum = $('.DateFrom input').val();
    var minSplit = [];
    minSplit = minimum.split("/");
    var newMin = (minSplit[2]+"-"+minSplit[0]+"-"+minSplit[1]);
    $('.DateTo input').attr('min',newMin);
  }
  $('.DateFrom input').change(updateMinimumEndDate);

});

 

Any suggestions please ?

0 0

Answer

SELECTED ANSWER
replied on May 12, 2017 Show version history

Change these two lines.

    minSplit = minimum.split("-");
    var newMin = (minSplit[0]+"-"+minSplit[1]+"-"+minSplit[2]);

Additionally, you should disallow direct typing in the box with something like this:

   $(document).on('keydown', '.DateFrom input, .DateTo input', pickerOnly);
  
   function pickerOnly (e) {
   e.preventDefault();
   return false;
}

Complete code should look something like this:

$(document).ready(function () { 

$(document).on('keydown', '.DateFrom input, .DateTo input', pickerOnly);
  
   function pickerOnly (e) {
   e.preventDefault();
   return false;
}
  
    function updateMinimumEndDate () 
  {
    var minimum = $('.DateFrom input').val();
    var minSplit = [];
    minSplit = minimum.split("-");
    var newMin = (minSplit[0]+"-"+minSplit[1]+"-"+minSplit[2]);
    $('.DateTo input').attr('min',newMin);

  }
  $('.DateFrom input').change(updateMinimumEndDate);

});

 

0 0

Replies

You are not allowed to reply in this post.
You are not allowed to follow up in this post.

Sign in to reply to this post.