I am using jQuery DateRangePicker in PHP with one selected date only – Calender UI and trying to fetch data from my MongoDB collection, whenever I select date its value will be alerting and after alerting value should be call in place of $currentdate in $filter = [‘date’ => $currentdate], but filter is define above jQuery code.
PHP Code
JavaScript
x
$filter = ['date' => $currentdate];
HTML Code –
JavaScript
<div class="text-right mr-2">
<div class="header-date py-3 text-right">
<span id="reportrange"><i class="icofont-calendar"></i></span>
<input type="hidden" id="hidreportrange">
</div>
</div>
jQuery
JavaScript
$('#reportrange').on('apply.daterangepicker', (e, picker) => {
var startDate = picker.startDate.format('YYYY-MM-DD');
alert(startDate);
Advertisement
Answer
First you have to embed an event on date selection.
JavaScript
$("#dateInput").datepicker({
onSelect: function(dateText) {
// do something
}
});
Without Ajax
Now suppose you have this form
JavaScript
<link href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<form id="myform" action="/action_page.php">
<input type="text" id="dateInput" class="date">
<input type="submit" value="Submit">
</form>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
To trigger a form submission to action_page.php
your js will look like this:
JavaScript
$("#dateInput").datepicker({
onSelect: function(dateText) {
$("#myform").submit(); // this will submit the form
}
});
With Ajax
While I am not sure to what extended I understood your question. However, I am assuming you trying to check the date against certain logic in the backend. To make it asynchronous (no page refresh) your js will look like the following:
JavaScript
$("#dateInput").datepicker({
onSelect: function(dateText) {
$.ajax({
url: '/action_page.php',
type: 'post',
data: "dateValue=" + dateText,
success: function(data) {
console.log(data); // display backend response on the console
}
});
}
});