Movie Theater seat booking App using pure JS, CSS and HTML. Only stated number of seats will be allowed to be selected. Checkbox CSS
A Pen by Shaik Maqsood on CodePen.
<body onload="onLoaderFunc()"> | |
<div class="inputForm"> | |
<center> | |
Name *: <input type="text" id="Username" required> | |
Number of Seats *: <input type="number" id="Numseats" required> | |
<br/><br/> | |
<button onclick="takeData()">Start Selecting</button> | |
</center> | |
</div> | |
<div class="seatStructure"> | |
<center> | |
<table id="seatsBlock"> | |
<p id="notification"></p> | |
<tr> | |
<td colspan="14"><div class="screen">SCREEN</div></td> | |
<td rowspan="20"> | |
<div class="smallBox greenBox">Selected Seat</div> <br/> | |
<div class="smallBox redBox">Reserved Seat</div><br/> | |
<div class="smallBox emptyBox">Empty Seat</div><br/> | |
</td> | |
<br/> | |
</tr> | |
<tr> | |
<td></td> | |
<td>1</td> | |
<td>2</td> | |
<td>3</td> | |
<td>4</td> | |
<td>5</td> | |
<td></td> | |
<td>6</td> | |
<td>7</td> | |
<td>8</td> | |
<td>9</td> | |
<td>10</td> | |
<td>11</td> | |
<td>12</td> | |
</tr> | |
<tr> | |
<td>A</td> | |
<td><input type="checkbox" class="seats" value="A1"></td> | |
<td><input type="checkbox" class="seats" value="A2"></td> | |
<td><input type="checkbox" class="seats" value="A3"></td> | |
<td><input type="checkbox" class="seats" value="A4"></td> | |
<td><input type="checkbox" class="seats" value="A5"></td> | |
<td class="seatGap"></td> | |
<td><input type="checkbox" class="seats" value="A6"></td> | |
<td><input type="checkbox" class="seats" value="A7"></td> | |
<td><input type="checkbox" class="seats" value="A8"></td> | |
<td><input type="checkbox" class="seats" value="A9"></td> | |
<td><input type="checkbox" class="seats" value="A10"></td> | |
<td><input type="checkbox" class="seats" value="A11"></td> | |
<td><input type="checkbox" class="seats" value="A12"></td> | |
</tr> | |
<tr> | |
<td>B</td> | |
<td><input type="checkbox" class="seats" value="B1"></td> | |
<td><input type="checkbox" class="seats" value="B2"></td> | |
<td><input type="checkbox" class="seats" value="B3"></td> | |
<td><input type="checkbox" class="seats" value="B4"></td> | |
<td><input type="checkbox" class="seats" value="B5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="B6"></td> | |
<td><input type="checkbox" class="seats" value="B7"></td> | |
<td><input type="checkbox" class="seats" value="B8"></td> | |
<td><input type="checkbox" class="seats" value="B9"></td> | |
<td><input type="checkbox" class="seats" value="B10"></td> | |
<td><input type="checkbox" class="seats" value="B11"></td> | |
<td><input type="checkbox" class="seats" value="B12"></td> | |
</tr> | |
<tr> | |
<td>C</td> | |
<td><input type="checkbox" class="seats" value="C1"></td> | |
<td><input type="checkbox" class="seats" value="C2"></td> | |
<td><input type="checkbox" class="seats" value="C3"></td> | |
<td><input type="checkbox" class="seats" value="C4"></td> | |
<td><input type="checkbox" class="seats" value="C5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="C6"></td> | |
<td><input type="checkbox" class="seats" value="C7"></td> | |
<td><input type="checkbox" class="seats" value="C8"></td> | |
<td><input type="checkbox" class="seats" value="C9"></td> | |
<td><input type="checkbox" class="seats" value="C10"></td> | |
<td><input type="checkbox" class="seats" value="C11"></td> | |
<td><input type="checkbox" class="seats" value="C12"></td> | |
</tr> | |
<tr> | |
<td>D</td> | |
<td><input type="checkbox" class="seats" value="D1"></td> | |
<td><input type="checkbox" class="seats" value="D2"></td> | |
<td><input type="checkbox" class="seats" value="D3"></td> | |
<td><input type="checkbox" class="seats" value="D4"></td> | |
<td><input type="checkbox" class="seats" value="D5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="D6"></td> | |
<td><input type="checkbox" class="seats" value="D7"></td> | |
<td><input type="checkbox" class="seats" value="D8"></td> | |
<td><input type="checkbox" class="seats" value="D9"></td> | |
<td><input type="checkbox" class="seats" value="D10"></td> | |
<td><input type="checkbox" class="seats" value="D11"></td> | |
<td><input type="checkbox" class="seats" value="D12"></td> | |
</tr> | |
<tr> | |
<td>E</td> | |
<td><input type="checkbox" class="seats" value="E1"></td> | |
<td><input type="checkbox" class="seats" value="E2"></td> | |
<td><input type="checkbox" class="seats" value="E3"></td> | |
<td><input type="checkbox" class="seats" value="E4"></td> | |
<td><input type="checkbox" class="seats" value="E5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="E6"></td> | |
<td><input type="checkbox" class="seats" value="E7"></td> | |
<td><input type="checkbox" class="seats" value="E8"></td> | |
<td><input type="checkbox" class="seats" value="E9"></td> | |
<td><input type="checkbox" class="seats" value="E10"></td> | |
<td><input type="checkbox" class="seats" value="E11"></td> | |
<td><input type="checkbox" class="seats" value="E12"></td> | |
</tr> | |
<tr class="seatVGap"></tr> | |
<tr> | |
<td>F</td> | |
<td><input type="checkbox" class="seats" value="F1"></td> | |
<td><input type="checkbox" class="seats" value="F2"></td> | |
<td><input type="checkbox" class="seats" value="F3"></td> | |
<td><input type="checkbox" class="seats" value="F4"></td> | |
<td><input type="checkbox" class="seats" value="F5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="F6"></td> | |
<td><input type="checkbox" class="seats" value="F7"></td> | |
<td><input type="checkbox" class="seats" value="F8"></td> | |
<td><input type="checkbox" class="seats" value="F9"></td> | |
<td><input type="checkbox" class="seats" value="F10"></td> | |
<td><input type="checkbox" class="seats" value="F11"></td> | |
<td><input type="checkbox" class="seats" value="F12"></td> | |
</tr> | |
<tr> | |
<td>G</td> | |
<td><input type="checkbox" class="seats" value="G1"></td> | |
<td><input type="checkbox" class="seats" value="G2"></td> | |
<td><input type="checkbox" class="seats" value="G3"></td> | |
<td><input type="checkbox" class="seats" value="G4"></td> | |
<td><input type="checkbox" class="seats" value="G5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="G6"></td> | |
<td><input type="checkbox" class="seats" value="G7"></td> | |
<td><input type="checkbox" class="seats" value="G8"></td> | |
<td><input type="checkbox" class="seats" value="G9"></td> | |
<td><input type="checkbox" class="seats" value="G10"></td> | |
<td><input type="checkbox" class="seats" value="G11"></td> | |
<td><input type="checkbox" class="seats" value="G12"></td> | |
</tr> | |
<tr> | |
<td>H</td> | |
<td><input type="checkbox" class="seats" value="H1"></td> | |
<td><input type="checkbox" class="seats" value="H2"></td> | |
<td><input type="checkbox" class="seats" value="H3"></td> | |
<td><input type="checkbox" class="seats" value="H4"></td> | |
<td><input type="checkbox" class="seats" value="H5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="H6"></td> | |
<td><input type="checkbox" class="seats" value="H7"></td> | |
<td><input type="checkbox" class="seats" value="H8"></td> | |
<td><input type="checkbox" class="seats" value="H9"></td> | |
<td><input type="checkbox" class="seats" value="H10"></td> | |
<td><input type="checkbox" class="seats" value="H11"></td> | |
<td><input type="checkbox" class="seats" value="H12"></td> | |
</tr> | |
<tr> | |
<td>I</td> | |
<td><input type="checkbox" class="seats" value="I1"></td> | |
<td><input type="checkbox" class="seats" value="I2"></td> | |
<td><input type="checkbox" class="seats" value="I3"></td> | |
<td><input type="checkbox" class="seats" value="I4"></td> | |
<td><input type="checkbox" class="seats" value="I5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="I6"></td> | |
<td><input type="checkbox" class="seats" value="I7"></td> | |
<td><input type="checkbox" class="seats" value="I8"></td> | |
<td><input type="checkbox" class="seats" value="I9"></td> | |
<td><input type="checkbox" class="seats" value="I10"></td> | |
<td><input type="checkbox" class="seats" value="I11"></td> | |
<td><input type="checkbox" class="seats" value="I12"></td> | |
</tr> | |
<tr> | |
<td>J</td> | |
<td><input type="checkbox" class="seats" value="J1"></td> | |
<td><input type="checkbox" class="seats" value="J2"></td> | |
<td><input type="checkbox" class="seats" value="J3"></td> | |
<td><input type="checkbox" class="seats" value="J4"></td> | |
<td><input type="checkbox" class="seats" value="J5"></td> | |
<td></td> | |
<td><input type="checkbox" class="seats" value="J6"></td> | |
<td><input type="checkbox" class="seats" value="J7"></td> | |
<td><input type="checkbox" class="seats" value="J8"></td> | |
<td><input type="checkbox" class="seats" value="J9"></td> | |
<td><input type="checkbox" class="seats" value="J10"></td> | |
<td><input type="checkbox" class="seats" value="J11"></td> | |
<td><input type="checkbox" class="seats" value="J12"></td> | |
</tr> | |
</table> | |
<br/><button onclick="updateTextArea()">Confirm Selection</button> | |
</center> | |
</div> | |
<br/><br/> | |
<div class="displayerBoxes"> | |
<center> | |
<table class="Displaytable"> | |
<tr> | |
<th>Name</th> | |
<th>Number of Seats</th> | |
<th>Seats</th> | |
</tr> | |
<tr> | |
<td><textarea id="nameDisplay"></textarea></td> | |
<td><textarea id="NumberDisplay"></textarea></td> | |
<td><textarea id="seatsDisplay"></textarea></td> | |
</tr> | |
</table> | |
</center> | |
</div> | |
Movie Theater seat booking App using pure JS, CSS and HTML. Only stated number of seats will be allowed to be selected. Checkbox CSS
A Pen by Shaik Maqsood on CodePen.
function onLoaderFunc() | |
{ | |
$(".seatStructure *").prop("disabled", true); | |
$(".displayerBoxes *").prop("disabled", true); | |
} | |
function takeData() | |
{ | |
if (( $("#Username").val().length == 0 ) || ( $("#Numseats").val().length == 0 )) | |
{ | |
alert("Please Enter your Name and Number of Seats"); | |
} | |
else | |
{ | |
$(".inputForm *").prop("disabled", true); | |
$(".seatStructure *").prop("disabled", false); | |
document.getElementById("notification").innerHTML = "<b style='margin-bottom:0px;background:yellow;'>Please Select your Seats NOW!</b>"; | |
} | |
} | |
function updateTextArea() { | |
if ($("input:checked").length == ($("#Numseats").val())) | |
{ | |
$(".seatStructure *").prop("disabled", true); | |
var allNameVals = []; | |
var allNumberVals = []; | |
var allSeatsVals = []; | |
//Storing in Array | |
allNameVals.push($("#Username").val()); | |
allNumberVals.push($("#Numseats").val()); | |
$('#seatsBlock :checked').each(function() { | |
allSeatsVals.push($(this).val()); | |
}); | |
//Displaying | |
$('#nameDisplay').val(allNameVals); | |
$('#NumberDisplay').val(allNumberVals); | |
$('#seatsDisplay').val(allSeatsVals); | |
} | |
else | |
{ | |
alert("Please select " + ($("#Numseats").val()) + " seats") | |
} | |
} | |
function myFunction() { | |
alert($("input:checked").length); | |
} | |
/* | |
function getCookie(cname) { | |
var name = cname + "="; | |
var ca = document.cookie.split(';'); | |
for(var i = 0; i < ca.length; i++) { | |
var c = ca[i]; | |
while (c.charAt(0) == ' ') { | |
c = c.substring(1); | |
} | |
if (c.indexOf(name) == 0) { | |
return c.substring(name.length, c.length); | |
} | |
} | |
return ""; | |
} | |
*/ | |
$(":checkbox").click(function() { | |
if ($("input:checked").length == ($("#Numseats").val())) { | |
$(":checkbox").prop('disabled', true); | |
$(':checked').prop('disabled', false); | |
} | |
else | |
{ | |
$(":checkbox").prop('disabled', false); | |
} | |
}); | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> | |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> |
body | |
{ | |
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; | |
} | |
#Username | |
{ | |
border:none; | |
border-bottom:1px solid; | |
} | |
.screen | |
{ | |
width:100%; | |
height:20px; | |
background:#4388cc; | |
color:#fff; | |
line-height:20px; | |
font-size:15px; | |
} | |
.smallBox::before | |
{ | |
content:"."; | |
width:15px; | |
height:15px; | |
float:left; | |
margin-right:10px; | |
} | |
.greenBox::before | |
{ | |
content:""; | |
background:Green; | |
} | |
.redBox::before | |
{ | |
content:""; | |
background:Red; | |
} | |
.emptyBox::before | |
{ | |
content=""; | |
box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8); | |
background-color:#ccc; | |
} | |
.seats | |
{ | |
border:1px solid red;background:yellow; | |
} | |
.seatGap | |
{ | |
width:40px; | |
} | |
.seatVGap | |
{ | |
height:40px; | |
} | |
table | |
{ | |
text-align:center; | |
} | |
.Displaytable | |
{ | |
text-align:center; | |
} | |
.Displaytable td, .Displaytable th { | |
border: 1px solid; | |
text-align: left; | |
} | |
textarea | |
{ | |
border:none; | |
background:transparent; | |
} | |
input[type=checkbox] { | |
width:0px; | |
margin-right:18px; | |
} | |
input[type=checkbox]:before { | |
content: ""; | |
width: 15px; | |
height: 15px; | |
display: inline-block; | |
vertical-align:middle; | |
text-align: center; | |
box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8); | |
background-color:#ccc; | |
} | |
input[type=checkbox]:checked:before { | |
background-color:Green; | |
font-size: 15px; | |
} | |