2014-08-27 84 views
1

我可以在使用jQuery的if語句中使用多個條件嗎?以下代碼根本不捕獲錯誤。 當您使用的是相同的&&(AND)和||(OR)如果參數製成每貼建議在jQuery中使用if語句需要滿足多個條件

$('.goRedIMG').on('click',function(event){ 
     var ischecked = false; 
     var isOKtoSubmit = true; 
     var alertMessage = 'No tools have been selected'; 
     var statusvar = ''; 
     var transferstatusvar = ''; 
     var action = $('#uTransaction option:selected').html(); 

     $('.chkaction').each(function() { //loop through each checkbox 
      statusvar = $(this).closest('tr').children('.recordStatus').html(); 
      transferstatusvar = $(this).closest('tr').children('.transferstat').html() 

      if($(this).prop('checked')) { 
       ischecked = true; 
       if((action == 'Transfer' && statusvar != 'ACTIVE') || (transferstatusvar != 'OK')){    
        isOKtoSubmit = false; 
        alertMessage = 'One or more records cannot be transferred because status is not ACTIVE and transfer status is not OK';   
       }     
      } 
      if(action == 'Accept Transfer' && transferstatusvar != 'AWAITING'){     
        isOKtoSubmit = false; 
        alertMessage = 'One or more records cannot be accepted or rejected because status is not ACTIVE or Transfer Status is not AWAITING';      
       }    
     }); 
    if(isOKtoSubmit && ischecked !== false && action !== '--Select One--'){     
      $('#toolActions').submit();   
     }else { 
      alert(alertMessage); 
     }  
    }); 
+0

請刪除;從'if'聲明的結尾。 '如果'陳述沒有;在結束 – 2014-08-27 16:49:03

+0

好,謝謝,我會做到這一點 – mac3201 2014-08-27 19:53:43

回答

1

編輯,你需要將它們分組。

因此,不是這樣的:

if(action == 'Transfer' && statusvar !== 'ACTIVE' || (transferstatusvar !== 'OK')) 

你應該這樣做:

if((action == 'Transfer' && statusvar != 'ACTIVE') || (transferstatusvar != 'OK')) 

(另外,你不需要!==當你要檢查,如果沒有平等的,你做!=代替)

+0

,對於第一,但如果下一個不工作: 如果(動作==「接受轉移」 && transferstatusvar!=「等待」){\t \t \t \t工作\t \t isOKtoSubmit = false; \t \t \t alertMessage ='一個或多個記錄不能被接受或拒絕,因爲狀態不是ACTIVE或傳輸狀態不是AWAITING'; \t \t \t \t} – mac3201 2014-08-27 19:52:52

+0

您需要對所有參數使用相同的邏輯。如果有效,請接受答案。 – 2014-08-28 00:48:19

+0

它不起作用 – mac3201 2014-08-28 03:59:57