2012-10-05 72 views
0

我相信這是一個簡單的答案,我只是無法弄清楚!如果等於這個或這個

我需要檢查一個變量是否等於多件事情:

if ((dls == '10:0') && (dls == '10:3') && (dls == '11:0') && (dls == '11:3')){ 
    stamp = 'PM'; 
}; 

測試頁:http://pmf.v5.cloudsvr.com.au/-artists/axle

你會看到警告射擊,和DLS == 11:3的警報,但郵票仍然等於AM而不是PM。

感謝您的任何幫助。

* 編輯:我使用了錯誤的操作符! *

if ((dls == '10:0') || (dls == '10:3') || (dls == '11:0') || (dls == '11:3')){ 
     stamp = 'PM'; 
}; 
+5

我最喜歡的部分是這個問題的標題是「等於這個或這個」,但你使用了AND運算符。 :D – Wug

+0

我不知道它甚至存在使用|| :(現在我雖然做!大聲笑 –

回答

3

你想||操作,Your condition will not be true as using &&的如果與& &聲明要求所有給定的條件爲真,這意味着DLS應該具有10:0,10:3,11:0和11:3一次變量中的值,但是變量可以具有這些值中的一個

變化

if ((dls == '10:0') && (dls == '10:3') && (dls == '11:0') && (dls == '11:3')){ 
    stamp = 'PM'; 
}; 

if ((dls == '10:0') || (dls == '10:3') || (dls == '11:0') || (dls == '11:3')){ 
    stamp = 'PM'; 
}; 
+0

我知道它必須是如此簡單!Thankyou –

3

使用||而不是&&

if ((dls == '10:0') || (dls == '10:3') || (dls == '11:0') || (dls == '11:3')){ 
    stamp = 'PM'; 
}; 

dls不能所有值..這將是要麼這些值。 。所以你需要使用||(或運營商)而不是&&(和運營商)

2

我想你可能打算使用|| (OR),而不是& &(AND):

if ((dls == '10:0') || (dls == '10:3') || (dls == '11:0') || (dls == '11:3')){ 
    stamp = 'PM'; 
}; 
2

首先,你使用了錯誤的操作..嘗試使用||代替&&

你可以試試這個方法太

var arr = ['10:0' , '10:3' , '11:0' , '11:3'] 
var dls = '10:1'; 

if (arr.indexOf(dls) != -1){ 
    stamp = 'PM'; 
} 
else{ 
    alert('Not PM') 
} 
1

試試這個:

現場演示:http://jsfiddle.net/oscarj24/MS8V8/1/

val = $.grep(["10:0", "10:3", "11:0", "11:3"], function(n){ if(n === dls) return n; }); 
if(val[0] === dls) stamp = "PM"; 

alert(stamp);