gpt4 book ai didi

带有 if 语句的 JavaScript for 循环只检查第一个变量

转载 作者:行者123 更新时间:2023-11-30 11:04:07 25 4
gpt4 key购买 nike

我正在尝试使用 HTML 和 JavaScript 创建一个预订系统。这是我的代码的简化版本,它应该检查所选时间是否与预订数组中的任何变量匹配。

循环正在运行(当我将 if 语句替换为 console.log(bookings[i]); 时它会运行)。

<html>

<head></head>

<body>
<input type="time" name="time" id="time">
<button id="submit" class="button">Submit</button>
<script>
var bookings = ["10:00", "10:15", "10:30"];

function addBooking() {
for (i = 0; i < bookings.length; i++) {
if (bookings[i] == document.getElementById("time").value) {
alert("Time unavailable.");
} else {
alert("Booking succesful.");
}
break;
}
}
document.getElementById("submit").addEventListener("click", addBooking);
</script>
</body>

</html>

提交表单时,该函数仅检查第一个变量(如果我输入 10:00,它会提醒时间不可用,但如果我输入 10:15 或 10:30,它会提醒“预订成功”)如果输入与 bookings 数组中的任何变量匹配,则应警告“时间不可用”。编辑:删除中断不能解决问题。

最佳答案

因为您总是在第一次检查后break!所以你只是将第一个值与输入进行比较,你也不必明确地循环这些值,在你的情况下你可以只用一个 if 语句来做,就像这样

if (bookings.indexOf(document.getElementById("time").value) === -1) {
alert("Booking succesful.");
} else {
alert("Time unavailable.");
}

关于带有 if 语句的 JavaScript for 循环只检查第一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56415131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com