jQuery datepicker modal
by Joe
HTML
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<input type="text" id="datepicker">
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.19.0/jquery.validate.js"></script>
<!-- <div style="font: 80% 'Trebuchet MS', sans-serif;"></div> -->
<!-- The Modal -->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<span class="close">×</span>
<p id="body">Some text in the Modal..</p>
</div>
</div>
CSS
/* #nav {
font-family: 'MedioRegular', "Palatino Linotype", "Book Antiqua", Palatino, serif;
font-size: 15px;
text-transform: uppercase;
margin:10px 0 0 10px;
padding:0;
list-style:none;
line-height: 25px;
}
#nav li {
float:left;
display:block;
width:167px;
position:relative;
z-index:500;
margin:0 1px;
}
#nav li a {
display:block;
padding:0 0 0 20px;
height:25px;
text-decoration:none;
color:#fff;
background: #111;
text-align:left;
}
#nav li a:hover {
color:#fff;
background: #111;
}
#nav a.selected {
color:#fff;
background: #111;
}
#nav ul {
position:absolute;
left:0;
display:none;
margin:0 0 0 -1px;
padding:0;
list-style:none;
}
#nav ul li {
width:165px;
float:left;
border-left:1px solid #111;
border-right:1px solid #111;
}
#nav ul li.underline {
border-bottom:1px solid #111;
}
#nav ul a {
display:block;
height:25px;
padding:0 0 0 23px;
color:#111;
background:url(../images/spacer.gif) repeat;
}
#nav ul a:hover {
text-decoration:none;
} */
/* The Modal (background) */
.modal {
display: none;
/* Hidden by default */
position: fixed;
/* Stay in place */
z-index: 1;
/* Sit on top */
left: 0;
top: 0;
width: 100%;
/* Full width */
height: 100%;
/* Full height */
overflow: auto;
/* Enable scroll if needed */
background-color: rgb(0, 0, 0);
/* Fallback color */
background-color: rgba(0, 0, 0, 0.4);
/* Black w/ opacity */
}
/* Modal Content/Box */
.modal-content {
background-color: #fefefe;
margin: 15% auto;
/* 15% from the top and centered */
padding: 20px;
border: 1px solid #888;
width: 80%;
/* Could be more or less, depending on screen size */
}
/* The Close Button */
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
JavaScript
$("#datepicker").datepicker();
$("#datepicker").change(function() {
var date = $(this).val();
if (isFutureDate(date))
$("#body").html("You have selected future date:" + date);
else
$("#body").html("You have selected past date:" + date);
modal.style.display = "block";
});
function isFutureDate(idate) {
var today = new Date().getTime();
//idate = idate.split("/");
debugger;
idate = new Date(idate).getTime();
console.log(idate);
console.log(today);
return (today - idate) < 0 ? true : false;
}
// Get the modal
var modal = document.getElementById("myModal");
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}