Untitled
unknown
plain_text
a year ago
4.7 kB
10
Indexable
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Booked Tickets</title> <style> body { font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 0; } h2 { color: #333; } table { width: 100%; border-collapse: collapse; margin-top: 20px; } th, td { padding: 8px; text-align: left; border-bottom: 1px solid #ddd; } tr:hover { background-color: #f5f5f5; } button { background-color: #ff0000; color: #fff; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer; } button:hover { background-color: #cc0000; } .popup { display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4); } .popup-content { background-color: #fefefe; margin: 15% auto; padding: 20px; border: 1px solid #888; width: 50%; border-radius: 5px; text-align: center; } .popup button { background-color: #4CAF50; color: white; padding: 10px 24px; border: none; cursor: pointer; } .popup button:hover { background-color: #45a049; } </style> </head> <body> <h2>Booked Tickets</h2> <table id="bookedTicketsTable"> <thead> <tr> <th>Boarding Point</th> <th>Destination Point</th> <th>Date</th> <th>Train Name</th> <th>Ticket Type</th> <th>Number of Tickets</th> <th>Action</th> </tr> </thead> <tbody> <!-- Booked tickets will be displayed here --> </tbody> </table> <div id="cancelPopup" class="popup"> <div class="popup-content"> <p>Are you sure you want to cancel this ticket?</p> <button id="cancelConfirm">Yes</button> <button onclick="closeCancelPopup()">No</button> </div> </div> <script> function displayBookedTickets() { var bookedTickets = JSON.parse(localStorage.getItem('bookedTickets')) || []; var bookedTicketsTable = document.getElementById('bookedTicketsTable'); var tbody = bookedTicketsTable.getElementsByTagName('tbody')[0]; tbody.innerHTML = ''; bookedTickets.forEach(function(ticket, index) { var row = document.createElement('tr'); row.innerHTML = `<td>${ticket.boardingPoint}</td> <td>${ticket.destinationPoint}</td> <td>${ticket.date}</td> <td>${ticket.trainName}</td> <td>${ticket.ticketType}</td> <td>${ticket.numTickets}</td> <td><button onclick="showCancelPopup(${index})">Cancel</button></td>`; tbody.appendChild(row); }); } function showCancelPopup(index) { var cancelPopup = document.getElementById('cancelPopup'); cancelPopup.style.display = 'block'; cancelPopup.dataset.cancelIndex = index; } function closeCancelPopup() { var cancelPopup = document.getElementById('cancelPopup'); cancelPopup.style.display = 'none'; } document.getElementById('cancelConfirm').addEventListener('click', function() { var cancelPopup = document.getElementById('cancelPopup'); var cancelIndex = parseInt(cancelPopup.dataset.cancelIndex); if (!isNaN(cancelIndex)) { var bookedTickets = JSON.parse(localStorage.getItem('bookedTickets')) || []; bookedTickets.splice(cancelIndex, 1); localStorage.setItem('bookedTickets', JSON.stringify(bookedTickets)); displayBookedTickets(); closeCancelPopup(); } }); displayBookedTickets(); </script> </body> </html>
Editor is loading...
Leave a Comment