将JS(jQuery)中的and/or运算符与if/else语句组合

将JS(jQuery)中的and/or运算符与if/else语句组合,jquery,if-statement,Jquery,If Statement,我在jQuery if/else语句中将&&和|运算符组合在一起时遇到问题。这里有一个例子 if(($x == 'on') && ($y !== 'on' || $z !== 'on')){ // it does not seem to work } 但是,如果我只放置其中一个,它会起作用。范例 if($x == 'on' && $y !== 'on' ){ // it works but I want to combine more like the a

我在jQuery if/else语句中将
&&
|
运算符组合在一起时遇到问题。这里有一个例子

if(($x == 'on') && ($y !== 'on' || $z !== 'on')){

// it does not seem to work

}
但是,如果我只放置其中一个,它会起作用。范例

if($x == 'on' && $y !== 'on' ){

// it works but I want to combine more like the above 
}

根据您的要求,并根据注释“$x必须为真,$y或$z或$anyThing均为假”。您可能需要添加额外的代码行

请参考下面的代码并测试它

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){       
        $('#testBtn').on('click', function(){           
            var xInput = $('#xInput').val(),
            yInput = $('#yInput').val(),
            zInput = $('#zInput').val();

            if(xInput == 'true' && (yInput == 'false' && zInput == 'false')){               
                $('#result').text("X it 'true'; Y & Z are 'false'");
            } else if(yInput == 'true' && (zInput == 'false' && xInput == 'false')){                
                $('#result').text("Y it 'true'; X & Z are 'false'");
            } else if(zInput == 'true' && (yInput == 'false' && xInput == 'false')){                
                $('#result').text("Z it 'true'; X & Y are 'false'");
            } else {
                $('#result').text("Try Again...");
            }
        });
    });
</script>
</head>
<body>
       X: <input type="text" id="xInput"> &nbsp 
       Y: <input type="text" id="yInput"> &nbsp 
       Z: <input type="text" id="zInput"> &nbsp  
       <br/>
       <br/>
       <button id="testBtn">Test If Condition</button>
       <br/>
       <br/>
       Result: <span id="result"></span>
</body>
</html>

$(文档).ready(函数(){
$('#testBtn')。在('click',function(){
var xInput=$('#xInput').val(),
yInput=$('#yInput').val(),
zInput=$('#zInput').val();
如果(xInput='true'&&(yInput='false'&&zInput='false'){
$(“#结果”).text(“X it'true';Y&Z'false'”;
}else如果(yInput='true'&&(zInput='false'&&xInput='false'){
$(“#result”).text(“Y it'true';X&Z'false'”;
}else如果(zInput='true'&&(yInput='false'&&xInput='false'){
$(“#result”).text(“Z it'true';X&Y'false'”;
}否则{
$(“#结果”).text(“重试…”);
}
});
});
X:
Y:是的
Z:是的


测试条件

结果:
具体要求是什么?我建议你花点时间在基本上第一个。我需要检查一个变量是否为真,一组变量中的任何一个是否为假。例如,$x必须为真,$y或$z或$anyThing都不是真的
if(($x=='on')&&($y=='on'| |$z=='on')){
这可能不正确,但这更符合我的做法。需要更多细节。