编写一个电影票座位,每一个复选框都是一个座位 用户选择座位,提示用户你选择座位有哪些,并且计算出价钱
时间: 2023-08-10 08:05:36 浏览: 38
以下是一个简单的电影票座位的HTML代码,使用JavaScript实现座位选择和计算价格的功能。
```html
<!DOCTYPE html>
<html>
<head>
<title>电影票座位选择</title>
<style>
.container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin: 20px auto;
max-width: 800px;
}
.seat {
width: 50px;
height: 50px;
margin: 5px;
background-color: gray;
border-radius: 5px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
color: white;
}
.seat.selected {
background-color: green;
}
</style>
</head>
<body>
<h1>电影票座位选择</h1>
<div class="container">
<!-- 生成20个座位复选框 -->
<?php
for ($i=1; $i<=20; $i++) {
echo '<div class="seat" data-price="10"><input type="checkbox" value="'.$i.'" /></div>';
}
?>
</div>
<p>您选择的座位为:<span id="selected-seats"></span></p>
<p>总价为:<span id="total-price">0</span>元</p>
<script>
const seats = document.querySelectorAll('.seat');
const selectedSeats = document.getElementById('selected-seats');
const totalPrice = document.getElementById('total-price');
let selectedCount = 0;
let price = 0;
// 点击座位时切换选中状态
seats.forEach(seat => {
seat.addEventListener('click', () => {
if (seat.classList.contains('selected')) {
seat.classList.remove('selected');
selectedCount--;
price -= parseInt(seat.getAttribute('data-price'));
} else {
seat.classList.add('selected');
selectedCount++;
price += parseInt(seat.getAttribute('data-price'));
}
selectedSeats.innerText = getSelectedSeats();
totalPrice.innerText = price;
});
});
// 获取选中的座位编号
function getSelectedSeats() {
const selected = [];
seats.forEach(seat => {
if (seat.classList.contains('selected')) {
selected.push(seat.querySelector('input').value);
}
});
return selected.join(',');
}
</script>
</body>
</html>
```
上述代码使用了PHP来生成20个座位复选框,您可以根据实际需求修改生成代码。每个座位都有一个data-price属性,表示该座位的价格。当用户选择座位时,我们会根据选中状态来计算总价,并在页面上显示出来。