2012-02-09 58 views
1

我想在我的if語句中使用三個條件。這裏是我的代碼:如何在Jquery添加三個條件

<script> 
    jQuery(document).ready(function() { 
     var num_one; var num_two; var num_three; 
     $("#control").attr("disabled", "disabled"); 

     $('#col-1 li').click(function(){ num_one = true; getState();}); 
     $('#col-2 li').click(function(){ num_two = true; getState();}); 
     $('#col-3 li').click(function(){ num_three = true; getState();}); 

     function getState(){ 
      if ((num_one == true) & (num_two == true) & (num_three == true)) { 
       $("#control").removeAttr("disabled"); 
      } 
     } 

     /*$('#col-1 li').click(function(){$("#control").removeAttr("disabled");*/ 
    }); 

    /**$("#enableBtn").click(function() { 
     $("#clearBtn").removeAttr("disabled"); 
    });**/ 
</script> 

這是工作,當我用只有兩個條件:if ((num_one == true) & (num_two == true))但是當我添加第三個條件這是行不通的。如何在if語句中添加三個條件?

回答

1

您需要用&&(邏輯AND)替換&(按位與)。另外,因爲你檢查的變量的類型是布爾型的,所以你不需要相等性檢查。

if (num_one && num_two && num_three) { 

Working example

+0

它適用於'如果(num_one && num_two){'和'如果(num_one && num_three){',但並沒有對'如果(num_one && num_two && num_three)工作{ ' – ahkeno 2012-02-09 16:41:41

+0

在此處運行良好:http://jsbin.com/eyogoj/edit – 2012-02-09 16:44:20

1

的和運營商是&&&。改變它,它應該工作。

+0

我曾試過&&,但它仍然無效。 – ahkeno 2012-02-09 16:33:56

+0

col-3基於從表中選擇的col-1和col-3檢索數據作爲子列表。因此,所有評論代碼在正常情況下工作正常。我添加了'$('#col-3 li')。live (「click」,function(){num_three = true; getState();});'它現在可以工作。 – ahkeno 2012-02-09 23:45:56

4

您正在尋找雙連字符&&,而不是單個&(這是Bitwise AND運算符,不是你正在尋找的東西)。您也可以不寫x == true。只是寫x是不夠的:

if (num_one && num_two && num_three) { 
    ... 
相關問題