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が表示されますが、スタンプはPMではなくAMに等しくなります。

助けてくれてありがとう。

*編集:間違った演算子を使用していました!*

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

6 に答える 6

3

||の代わりに使用&&

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

dlsこれらすべての値にすることはできません。これらの値のいずれかになります。したがって、 (および演算子||)の代わりに(または演算子)を使用する必要があります。&&

于 2012-10-05T16:52:05.703 に答える
3

||演算子が必要ですYour condition will not be true as using &&。&&を含むifステートメントでは、指定されたすべての条件が真である必要があります。つまり、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';
};
于 2012-10-05T16:51:47.873 に答える
2

私はあなたが使うつもりだったと思います|| &&(AND)の代わりに(OR):

if ((dls == '10:0') || (dls == '10:3') || (dls == '11:0') || (dls == '11:3')){
    stamp = 'PM';
};
于 2012-10-05T16:54:51.257 に答える
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')
}
于 2012-10-05T16:58:06.863 に答える
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);
于 2012-10-05T17:04:04.007 に答える
-1

短いバージョン:

if (dls == ('10:0'||'10:3'||'11:0'||'11:3')){
    stamp = 'PM';
};
于 2019-12-15T14:54:24.017 に答える