Skip to content

Instantly share code, notes, and snippets.

@dcs619
Created August 15, 2017 16:09
Show Gist options
  • Select an option

  • Save dcs619/a95b3ea9ecb517cf07dfb978798a92b6 to your computer and use it in GitHub Desktop.

Select an option

Save dcs619/a95b3ea9ecb517cf07dfb978798a92b6 to your computer and use it in GitHub Desktop.
Dynamic Data Date Range
<div class="form-group date-range-picker ">
<label class="control-label" for="date_range_selection">Date Range</label>
<div class="control-wrapper">
<div id="date_range_selection">
<div class="form-control-group">
<div class="input-group input-width-md date input-group-lower input-width-md js-date-picker date">
<input name="date_range_selection_lower" type="text" id="date_range_selection_lower" class="form-control"><span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
<div class="input-group form-control-static"> to </div>
<div class="input-group input-width-md date input-group-upper input-width-md js-date-picker date">
<input name="date_range_selection_upper" type="text" id="date_range_selection_upper" class="form-control"><span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
<div class="input-group">
<span id='show-report' class='btn btn-primary'>Go</span>
</div>
</div>
</div>
</div>
</div>
<script>
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
$(function() {
var today = new Date();
var yyyy = today.getFullYear();
var start = getParameterByName('start');
var end = getParameterByName('end');
if (!start) {
start = '01/01/'+yyyy;
}
if (!end) {
end = '12/31/'+yyyy;
}
$('#date_range_selection_lower').val(start);
$('#date_range_selection_upper').val(end);
$('#date_range_selection_lower').datepicker({ format: 'mm/dd/yyyy', todayHighlight: true }).on('changeDate', function (ev) {
if (event && event.type == 'click') {
// close the start date picker and set focus to the end date
$('#date_range_selection_lower').data('datepicker').hide();
$('#date_range_selection_upper')[0].focus();
}
});
$('#date_range_selection_upper').datepicker({ format: 'mm/dd/yyyy', todayHighlight: true }).on('changeDate', function (ev) {
// close the enddate picker immediately after selecting an end date
$('#date_range_selection_upper').data('datepicker').hide();
});
$('#date_range_selection').find('.input-group-lower .input-group-addon').on('click', function () {
$(this).siblings('.form-control').select();
});
$('#date_range_selection').find('.input-group-upper .input-group-addon').on('click', function () {
$(this).siblings('.form-control').select();
});
$('#show-report').click( function() {
var fromDate = $('#date_range_selection_lower').val();
var toDate = $('#date_range_selection_upper').val();
window.location.href =
window.location.protocol + "//" +
window.location.host +
window.location.pathname +
'?start=' + fromDate +
'&end=' + toDate
});
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment