因此,我有一个if语句正在检查下拉列表的值。用户必须选择其中至少之一才能继续。这些值只是数字。我的if
语句检查是否基本上等于零:
if (numChildren === 0 && numAdults === 0){
Than do this
}
但是由于某种原因,它总是返回false。我已经在控制台上记录了numChildren和大人,以查看值是什么,并且它们是零。我不知道为什么它不起作用,我已经输入了“!”在它使它为真之前,但是它仍然为假。这是一个非常奇怪的错误。
$("#Discounts").on("click", function () {
let numChildren = $("#children").val();
let numAdults = $("#adults").val();
console.log("Adults: " + numAdults + "\nChildren: " + numChildren);
console.log(numChildren === 0 && numAdults === 0);
if (numChildren === 0 && numAdults === 0) {
alert("You must select");
$("#children").val(1);
}
});
答案 0 :(得分:0)
这并不奇怪。
您正在使用三等式比较,并且numChildren
可能包含一个字符串形式的数字(例如“ 0”),您将它与zero
进行比较作为实际数字。
它应与:
numChildren == 0 && numAdults == 0
或
Number(numChildren) === 0 && Number(numAdults) === 0
这是官方参考:https://tc39.github.io/ecma262/#sec-strict-equality-comparison
答案 1 :(得分:0)
如果在if语句中使用3等于,则numChildren
的类型和值必须与0(整数)相同,而不仅仅是等于0。
尝试更改为2等于:
if (numChildren == 0 && numAdults == 0) {
alert("You must select");
$("#children").val(1);
}
答案 2 :(得分:0)
您可以尝试以下方法:
figure()