gpt4 book ai didi

javascript - "true"即使值为假,评估仍在运行

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:26:12 26 4
gpt4 key购买 nike

我有一个非常简单的 jquery 片段,它需要检查从 ajax 调用返回的 bool 值,并设置一个复选框以检查它是否为真。

console.log("loc: " + r.location.defaultLocation);
if( r.location.defaultLocation == true ) {
$('#loc-default').attr('checked',true);
}

这在打开模态表单的 onclick 函数中运行 - 如果返回的位置信息表明这是默认位置,则应选中该复选框。我们在单个页面上有 5 个这样的位置 - 即用户可以单击的 5 个位置。

我遇到的是,即使 r.location.defaultLocation 返回 false(根据 console.log 行),该复选框仍处于选中状态。我做错了什么?

对于那些坚持 true/false 必须是字符串而不是 bool 值的人:

这是 console.info(typeof(r.location.defaultLocation));

的结果

enter image description here

这是 console.dir(r) 的结果,如果有帮助的话。 (group 是模糊的,因为它是敏感信息。)

enter image description here

找到问题

显然 jquery 记得 #loc-default 在第一个标记为选中后被选中。我在函数中添加了一个 else,现在它可以工作了:

if( r.location.defaultLocation == true ) {
$('#loc-default').attr('checked',true);
}
else {
$('#loc-default').attr('checked', false);
}

最佳答案

我能看到发生这种情况的唯一方法是,如果 defaultLocation 实际上不是 bool 值 false,而是字符串“false”,它的计算结果为 true。

关于javascript - "true"即使值为假,评估仍在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976359/

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