单选按钮与OR javascript问题

时间:2015-09-30 10:33:41

标签: javascript radio-button operator-keyword

有人可以帮助我理解JavaScript中OR运算符的正确语法。我正在使用||在我的脚本但不起作用。我有一个包含4个值的单选按钮列表。我想要一个下拉列表在值2或3上可见。我可以使用单个值2但在添加||时没有骰子工作没问题谁能提出建议吗?提前谢谢。

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

2 个答案:

答案 0 :(得分:1)

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

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

首先,javascript会查看||运算符之前的部分,看看它是否计算为true

radConvert.GetValue() == 2

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

||运算符的另一侧,javascript只看到3。 Javascript将此视为“truthy”值。由于您实际上并未将3与任何内容进行比较,因此javascript必须决定3应该等于true还是false。规范说3是真的,所以if语句作为一个整体评估为true,并且语句中的代码运行。

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

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

答案 1 :(得分:0)



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

2||3 =2




||意味着如果留下不是假的使用权

例如。



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