How to filter data based on date range? Following are my html and javascript code:
My HTML code:
<label for="fromDateRange">From:</label>
<div id="fromDateRange"></div>
</div>
<div style="margin-left:20px; display: inline-block; font-weight: bold;">
<label for="toDateRange">Till:</label>
<div id="toDateRange">
</div>
</div>
<div class="buttons-sec">
<button id="date-blue" type="submit" class="pure-button pure-button-small blue" onclick="getdates()" <?php echo base_url(); ?>payment/cash" >Search</button>
<button id="date-gray" type="submit" class="pure-button pure-button-small gray" onclick="clearDates()">Reset</button>
</div>
My Java script:-
<script type="text/javascript">
$('#toDateRange').datepicker({
// minDate: $( "#fromDateRange" ).datepicker( "getDate" ),
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
dateFormat: "yy-mm-dd",
onSelect: function(selectedDate) {
$("#fromDateRange").datepicker("option", "maxDate", selectedDate);
}
});
$("#fromDateRange").datepicker({
defaultDate: "-1m",
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
dateFormat: "yy-mm-dd",
onSelect: function(selectedDate) {
$("#toDateRange").datepicker("option", "minDate", selectedDate);
}
});
</script>
<script type="text/javascript">
$('#dateFilter').on('click', function(e) {
$('.date-range').on('click', function(e) {
e.preventDefault();
return false;
});
$('#date-range').toggle();
e.preventDefault();
return false;
});
$('body').click(function() {
$('#date-range').hide();
});
</script>
//To get dates or to clear
<script type="text/javascript">
function getdates() {
var fromDate = $.datepicker.formatDate("dd MM, yy", $("#fromDateRange").datepicker("getDate"));
var toDate = $.datepicker.formatDate("dd MM, yy", $("#toDateRange").datepicker("getDate"));
$('#dateFilter').val(fromDate + '-' + toDate);
$("#dateFilter").trigger("change");
$('#date-range').hide();
}
// To clear the dates
function clearDates() {
clear = "";
$('#dateFilter').val(clear);
$("#fromDateRange").datepicker('setDate', 'today-1m');
$("#toDateRange").datepicker('setDate', 'today');
$("#dateFilter").trigger("change");
$('#date-range').hide();
}
</script>