JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://igniteui.com/js/modernizr.min.js"></script>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
<script src="https://cdn-na.infragistics.com/igniteui/latest/js/infragistics.core.js"></script>
<script src="https://cdn-na.infragistics.com/igniteui/latest/js/infragistics.lob.js"></script>
<link href="https://cdn-na.infragistics.com/igniteui/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet"></link>
<link href="https://cdn-na.infragistics.com/igniteui/latest/css/structure/infragistics.css" rel="stylesheet"></link>
<h3>Book your flight</h3>
<div class="group-fields">
<label for="currentTime">Right now it is</label>
<input id="currentTime"></input>
</div>
<div class="group-fields clearfix">
<div>
<label for="departure">Departure</label>
<input id="departure"></input>
</div>
<div>
<label for="departureTime">Around</label>
<input id="departureTime"></input>
</div>
</div>
<div class="group-fields clearfix">
<div>
<label for="return">Return</label>
<input id="return"></input>
</div>
<div>
<label for="returnTime">Around</label>
<input id="returnTime"></input>
</div>
</div>
<div class="group-fields">
<input id="oneWayTicket"></input>
<label for="oneWayTicket">One way ticket</label>
</div>
CSS
h3 {
font-size: 20px;
margin-bottom: 20px;
}
.group-fields {
margin-bottom: 10px;
}
.group-fields label {
display: block;
line-height: 18px;
}
.group-fields .inline {
display: inline;
}
.group-fields .ui-igcheckbox-normal {
margin-right: 5px;
float: left;
}
.group-fields .ui-igedit-container {
width: 230px;
}
.clearfix:after {
content: "";
display: table;
clear: both;
}
.group-fields.clearfix > div {
float: left;
margin-right: 10px;
}
JavaScript
$(function () {
var today = new Date(),
tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
$("#currentTime").igDateEditor({
dateInputFormat: "dateTime",
value: new Date(),
dataMode: "date",
readOnly: true
});
$("#departure").igDatePicker({
dateInputFormat: "ddd, MMM d, yyyy",
value: today,
regional: "en-US",
dataMode: "date",
datepickerOptions: {
minDate: today
},
valueChanged: function (evt, ui) {
if (ui.newValue instanceof Date) {
var nextDay = new Date(ui.newValue.getTime() + 24 * 60 * 60 * 1000);
// V.S. April 3rd 2019, Set the min date for return to be at least 1 day after departure
var currentValue = $("#return").igDatePicker("option", "value");
// Depending on the current value, first set minDate OR first set value in order to avoid notifier showing up
if (currentValue.getTime() > nextDay.getTime()) {
$("#return").igDatePicker("option", "datepickerOptions", {
minDate: nextDay
}).igDatePicker("option", "value", nextDay)
} else {
$("#return").igDatePicker("option", "value", nextDay).igDatePicker("option", "datepickerOptions", {
minDate: nextDay
})
}
}
}
});
$("#departureTime").igDateEditor({
dateInputFormat: "hh:mm",
value: new Date(),
dataMode: "date",
buttonType: "spin",
width: 100
...