我正在计算使用javascript和html销售的门票数量和可用数量。 我需要用户能够选择他们需要的门票。根据用户的选择,系统应该能够让用户知道票证是否已用完。如果票证可用,系统可以提醒谢谢消息。听起来很简单,但我无法理解它。
那里的任何人愿意提供帮助。我非常感激。
这是我到目前为止所拥有的。
<script language="javascript">
var ticket = ["q_available": 20,"q_sold": 0 ];
if (q_sold >= q_available){
alert("ticket sold out. Sorry");
}else
{
alert("Thank you.");
}
</script>
<select name="ticketing" id="ticketing">
<option value="1">1<option>
<option value="2">2<option>
<option value="3">3<option>
<option value="4">4<option>
<option value="5">5<option>
</select>
答案 0 :(得分:1)
这是一个有效的解决方案。您有几个拼写错误(<option>
作为结束标记,而不是</option>
,但您的代码是一个良好的开端。
我添加了检查当前门票数量的功能,与请求的数量进行比较,并在可用时购买。代码还会将<select>
值重置为不可选的默认值,以便在用户选择数字时运行该函数。
var q_available = 20;
var q_sold = 0;
function buyTicket(num) {
var soldOut = false;
if (q_sold >= q_available) {
alert("Tickets sold out. Sorry.");
return;
}
for (var i = 1; i <= num; i++) {
// loop through # of tickets to see if sold out
q_sold++;
if (q_sold >= q_available) {
if (i < num) {
alert("You can only buy " + i + " tickets... Sorry.");
soldOut = true;
break;
}
}
}
if (!soldOut) {
alert("Thank you. We have " + (q_available - q_sold) + " tickets left.");
document.getElementById('ticketing').value = 0;
}
}
<select name="ticketing" id="ticketing" onchange="buyTicket(this.value);">
<option value="0" disabled selected>Please select</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>