OR javascript 的单选按钮问题

Radio buttons issue with OR javascript

谁能帮我理解 JavaScript 中 OR 运算符的正确语法。我正在使用 ||在我的脚本中但不起作用。我有一个包含 4 个值的单选按钮列表。我希望下拉列表在值 2 或 3 上可见。我可以让它在单个值 2 上正常工作,但是当我添加 || 时没有骰子3. 谁能给点建议?提前致谢。

    function ShowConvert() {
        if (radConvert.GetValue() == 2 || 3) {
            frmActivate.GetItemByName("ConvertHide").SetVisible(true);
        }
        else {
            frmActivate.GetItemByName("ConvertHide").SetVisible(false);
        }
    };

(radConvert.GetValue() == 2 || radConvert.GetValue() == 3)

2||3 =2

||意味着如果左不假使用右

例如。

function(option){
option = option || {};
} 

当您在 javascript 中使用 || 运算符时,您实际上是将 if 语句拆分为两个单独的语句以进行评估。如果其中任何一个为真,则 if 语句的计算结果为真。让我们看看你的情况:

if (radConvert.GetValue() == 2 || 3) {

首先,javascript 将查看 || 运算符之前的部分,并查看其计算结果是否为 true.

radConvert.GetValue() == 2

在这种情况下,假设这不是真的 - GetValue() 没有返回 2。因为语句的计算结果为假,javascript 现在需要查看 if 条件的后半部分.

|| 运算符的另一边看,javascript 只看到 3。 Javascript 将此视为 "truthy" 值。由于您实际上并没有将 3 与任何东西进行比较,因此 javascript 必须决定 3 应该等于 true 还是 false。规范说明 3 为真,因此整个 if 语句的计算结果为真,语句中的代码将运行。

最简单的解决方法是在 || 运算符 -

的两侧调用您的方法
if(radConvert.GetValue() == 2 || radConvert.GetValue() == 3) {
    ...
}