2011-09-29 252 views
0

使用逻辑运算符&&产生无法预测的结果。如果链接多于2个表达式,则if子句将失败。可以使用&&连接的表达式数量有限制吗?逻辑&&运算符

  if (tTellerProN.checked && tCareProN.checked && tSalesProN.checked) { 
       $(flListEmpty).empty(); 
       $(flListEmpty).append($('<option></option>').val(0).html("Select Role")); 
       $('.fl_list1 .list4').each(function (index) { 
        $(flListEmpty).append($('<option> </option>').val(index).html($(this).text())); 
       }) 
      } 
+0

重新标记,因为''&&属于JavaScript的,而不是jQuery的 – bfavaretto

+0

你所说的“失败”的意思是?你的意思是评估为假? –

+0

使用大括号:'('和')'来分组&&操作。 – c69

回答

2

不,没有限制。你的表达要求所有三个checked的值是true,否则它将返回false。其中一个必须是false(或不是true),这就是为什么你的if失败。

备案:&&是javascript语言的一部分,而不是jQuery库。

2

不,没有限制。但是看着你的代码(它只有很少的代码,并且使用了这样的描述性变量名),我猜测你实际上的意思是||,而不是&&

4

&&不是jQuery运算符,它是Javascript。 jQuery是一个基于Javascript的库。

我不知道什么**是在你的IF statment但此代码的工作:

var x = true; 
var y = true; 
var z = true; 

alert(x && y && z); // true 
alert(x && y && !z); // false 

我想提醒你的3个.checked参数的值,并确保您预期的那样,他们正在建立。