<!DOCTYPE html>
<html>

  <head>
    <meta charset="utf-8" />
    <title><!-- Title here --></title>
    <link data-require="jqueryui" data-semver="1.10.0" rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/css/smoothness/jquery-ui-1.10.0.custom.min.css" />
    <link rel="stylesheet" href="style.css" />
    <script data-require="jquery" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
    <script data-require="jqueryui" data-semver="1.10.0" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/jquery-ui.js"></script>
    <script src="script.js"></script>
  </head>

  <body>
<div class='line'>
  <div>
    <button id="today">today</button>
  </div>
  <div>
    <button id="yesterday">yesterday</button>
  </div>
  <div>
    <button id="tomorrow">tomorrow</button>
  </div>
  <div>
    <button id="this_week">this week</button>
  </div>
  <div>
    <button id="last_7_days">7 days</button>
  </div>
  <div>
    <button id="last_30_days">30 days</button>
  </div>
  <div>
    <button id="this_month">this month</button>
  </div>
</div>
<div class='line'>
  <div>
    <label for="from">From</label>
    <input type="text" id="from" name="from">
    <label for="to">to</label>
    <input type="text" id="to" name="to">
  </div>
  <div>
    <div class='line' id="from_cl"></div>
    <div class='line' id="to_cl"></div>
  </div>
</div>
   </body>

</html>
  $(function()
    {
    var from, to;

    function beforeShowDay(date)
      { return [true, (from <= date && date <= to ? "ui-datepicker-range" : "")]; }

    $("#from_cl").datepicker({
      altField: "#from",
      showOtherMonths: true,
      changeYear: true,
      changeMonth: true,
      hideIfNoPrevNext: true,
      numberOfMonths: 1,
      beforeShowDay: beforeShowDay,
      onSelect: function(selectedDate)
        {
        from = $.datepicker.parseDate($(this).datepicker("option", "dateFormat"), selectedDate)
        if (to < from)
          { to = from; }
        $("#to_cl").datepicker('option', "minDate", from);
        }});

    $("#to_cl").datepicker({
      altField: "#to",
      showOtherMonths: true,
      changeMonth: true,
      changeYear: true,
      hideIfNoPrevNext: true,
      numberOfMonths: 1,
      beforeShowDay: beforeShowDay,
      onSelect: function(selectedDate)
        {
        to = $.datepicker.parseDate($(this).datepicker("option", "dateFormat"), selectedDate)
        $("#from_cl").datepicker("refresh");
        }});

    from = $("#from_cl").datepicker("getDate");
    to = $("#to_cl").datepicker("getDate");
    $("#to_cl").datepicker('option', "minDate", from);
    $("#from_cl,#to_cl").datepicker("refresh");


// additionl buttons   


    function setNewRange(newFrom, newTo)
      {
      from = $("#from_cl").datepicker("setDate", newFrom).datepicker("getDate");
      to = $("#to_cl").datepicker('option', "minDate", from).datepicker("setDate", newTo).datepicker("getDate");
      $("#from_cl,#to_cl").datepicker("refresh");
      }

    $('#today').on('click', function ()
      {
      var dt = new Date();
      setNewRange(dt, dt);
      });

    $('#yesterday').on('click', function ()
      {
      var dt = new Date();
      dt.setDate(dt.getDate() - 1)
      setNewRange(dt, dt);
      });

    $('#tomorrow').on('click', function ()
      {
      var dt = new Date();
      dt.setDate(dt.getDate() + 1)
      setNewRange(dt, dt);
      });

    $('#this_week').on('click', function ()
      {
      var from = new Date();
      from.setDate(from.getDate() - from.getDay());
      var to = new Date(from.getTime());
      to.setDate(to.getDate() + 6);
      setNewRange(from, to);
      });

    $('#last_7_days').on('click', function ()
      {
      var to = new Date();
      var from = new Date(to.getTime());
      from.setDate(from.getDate() - 7)
      setNewRange(from, to);
      });

    $('#last_30_days').on('click', function ()
      {
      var to = new Date();
      var from = new Date(to.getTime());
      from.setDate(from.getDate() - 30)
      setNewRange(from, to);
      });

    $('#this_month').on('click', function ()
      {
      var from = new Date();
      from.setDate(1)
      var to = new Date(from.getTime());
      to.setMonth(to.getMonth()+1)
      to.setDate(0)
      setNewRange(from, to);
      });

    });
.line{
  display:inline-block;
  vertical-align:top}
.ui-datepicker-range>.ui-state-default{
  background:lightblue}