门票可用性Javascript

时间:2017-04-11 16:38:21

标签: javascript html

我正在计算使用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>

1 个答案:

答案 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>