jQuery datepicker modal
by Joe
HTML
<div id="datepicker" 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>
<div class="modal fade" id="fut_date" tabindex="-1" role="dialog" aria-labelledby="fut_dateLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="fut_dateLabel">Warning!!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
You are entering future date. Do you want to continue?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary">Ok</button>
</div>
</div>
</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();
$("#body").html("You have selected future date:" + date);
modal.style.display = "block";
});
// Get the modal
var modal = document.getElementById("fut_date");
// 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";
}
}