2012-01-03 13 views

risposta

77

basta aggiungere all'interno della staffa principale del if come

if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { 
      PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; 
} 

Logicamente questo può essere riscritto in un modo migliore! Questo ha esattamente lo stesso significato

if (Type == 2 && (PageCount == 0 || PageCount == '')) { 
+2

Forse ha letto male il libro, o qualcosa del genere. –

+0

Concorr. Inoltre non aveva una parentesi graffa aperta per il condizionale. Quello non avrebbe potuto aiutare. – Tass

4
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { 

     PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; 
} 

Questo potrebbe essere una delle possibili soluzioni, così 'o' è || non !!

3

Avvolgili in una coppia extra di parents e sei a posto.

if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) 
    PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value; 
} 
5

tutta if dovrebbe essere racchiuso tra parentesi e l'operatore or è || un non !!, così

if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) { ... 
7

Attualmente sto controllando un gran numero di condizioni, che diventa ingombrante utilizzando l'istruzione if metodo oltre a dire 4 condizioni. Giusto per condividere un'alternativa pulita in cerca di spettatori futuri ... che scala bene, io uso:

var a = 0; 
var b = 0; 

a += ("condition 1")? 1 : 0; b += 1; 
a += ("condition 2")? 1 : 0; b += 1; 
a += ("condition 3")? 1 : 0; b += 1; 
a += ("condition 4")? 1 : 0; b += 1; 
a += ("condition 5")? 1 : 0; b += 1; 
a += ("condition 6")? 1 : 0; b += 1; 
// etc etc 

if(a == b) { 
    //do stuff 
} 
6

volte si possono trovare trucchi per combinare ulteriormente statments.

Come per esempio:

0 + 0 = 0 

e

"" + 0 = 0 

così

PageCount == 0 
PageCount == '' 

si può scrivere come:

PageCount+0 == 0 

in JavaScript 0 è altrettanto buono come false invertendo ! si sarebbe trasformato in 0true

!PageCount+0 

per un totale di:

if (Type == 2 && !PageCount+0) PageCount = elm.value; 
Problemi correlati