The selected range can be adjusted by the user or you can programmatically set the start and end.

This is especially useful and effective when using the range for filtering and you'd like to offer predefined ranges like Yesterday, Today, Last week and so on. Setting the values can be done from something as simple as a button click.

Download and try example

Demo

Setting today
html<button id="today">Today</button>
<div id="picker"></div>
jsvar now = new Date(),
    myRange = $('#picker').mobiscroll().datepicker({
        controls: ['calendar'],
        select: 'range'
    });

document.querySelector('#today')
    .addEventListener('click', function () {
        myRange.setVal([now, now]);
    });
Setting yesterday
html<button id="yesterday">Yesterday</button>
<div id="picker"></div>
jsvar now = new Date(),
    yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1),
    myRange = $('#picker').mobiscroll().datepicker({
        controls: ['calendar'],
        select: 'range'
    });

document.querySelector('#yesterday')
    .addEventListener('click', function () {
        myRange.setVal([yesterday, yesterday]);
    });
Setting this week
html<button id="this-week">This week</button>
<div id="picker"></div>
jsvar now = new Date(),
    firstday = new Date(now.setDate(now.getDate() - now.getDay())),
    lastday = new Date(now.setDate(now.getDate() - now.getDay() + 6)),
    myRange = $('#picker').mobiscroll().datepicker({
        controls: ['calendar'],
        select: 'range'
    });

document.querySelector('#this-week')
    .addEventListener('click', function () {
        myRange.setVal([firstday, lastday]);
    });
Setting last month
html<button id="last-month">Last month</button>
<div id="picker"></div>
jsvar now = new Date(),
    firstday = new Date(now.getFullYear(), now.getMonth() - 1, 1),
    lastday = new Date(now.getFullYear(), now.getMonth(), 0),
    myRange = $('#picker').mobiscroll().datepicker({
        controls: ['calendar'],
        select: 'range'
    });

document.querySelector('#last-month')
    .addEventListener('click', function () {
        myRange.setVal([firstday, lastday]);
    });
Clear the selection with a simple click
html<button id="clear">Clear</button>
<div id="picker"></div>
jsvar inst = $('#picker').mobiscroll().datepicker({
    controls: ['calendar'],
    select: 'range'
});

document.querySelector('#clear')
    .addEventListener('click', function () {
        myRange.setVal(null);
    });

Duplicate Session

You have signed in on a different machine. To keep everything in sync, you have been signed out of this session.

If you need to invite team members, manage seats and accounts you can do it from the licenses page.

Duplicate Session

We noticed you are logged in on a different machine and have closed your old session.

If you need to invite team members, manage seats and accounts you can do it from the licenses page.