0

私は次の比較演算子を機能させようとしています。2番目の'if'は、常にコード内の次のステートメントを実行します。私が欲しいのは、eithentryTypeまたはfollowupEntryTypeが文字列「LongTermCare」と等しくない場合に検出できるようにすることです。コードは次のとおりです。

function getComboB(sel) {

    var value = sel.options[sel.selectedIndex].value;
    if (value == "Rehab") {
        if (!(document.getElementById('entryType').value == "Long Term Care") || !(document.getElementById('followupEntryType').value == "Long Term Care")) {
            document.getElementById('followupEntryType').value = "Long Term Care";
            alert("short-term rehab code");
            return true;
        } else {
            alert("long-term rehab code");
            return true;
        }
    }
}
4

3 に答える 3

1

ここに何が起こっているのか、それはあなたが望むものですか?

if(true || true)
{
console.log('second check will not be executed');
}

if(true || false)
{
console.log('second check will not be executed');
}

if(false || false)
{
console.log('second check will be executed');
}

if(false || true)
{
console.log('second check will be executed');
}

EITHER が false かどうかを確認したい場合は、 を使用&&して、コードをelseブロック内に移動する必要があります

于 2013-03-16T19:22:54.900 に答える
0
function getComboB(sel) {

var value = sel.options[sel.selectedIndex].value; 
if (value == "Rehab") {
  if (document.getElementById('entryType').value != "Long Term Care" && document.getElementById('followupEntryType').value != "Long Term Care") {
    document.getElementById('followupEntryType').value = "Long Term Care";
    alert ("short-term rehab code");
    return true;
  } else {
    alert ("long-term rehab code");
    return true;
  }
}
于 2013-03-16T19:23:12.950 に答える
0

いいえ、2番目ifは常に次のステートメントを実行するとは限りません。両方の値がの場合"Long Term Care"、パーツ内のコードが実行されますelse。すなわち:

<input type="text" id="entryType" value="Long Term Care" />
<input type="text" id="followupEntryType" value="Long Term Care" />

デモ: http: //jsfiddle.net/QW43B/

両方の値がと異なる場合に条件を真にしたい場合"Long Term Care"(つまり、elseどちらかの値がの場合に条件が入る)、代わりに演算子"Long Term Care"を使用する必要があります。&&

if (!(document.getElementById('entryType').value == "Long Term Care") && !(document.getElementById('followupEntryType').value == "Long Term Care")) {
于 2013-03-16T19:31:21.050 に答える