我一直试图让以下比较运算符起作用。第二个'if'总是执行代码中的下一个语句。我想要的是能够检测到何时使用entryType或者followupEntryType不等于字符串“Long Term Care”这里是代码......
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;
}
}
}
答案 0 :(得分: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是否为假,则应使用&&
,并在else
块中移动代码
答案 1 :(得分: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;
}
}
答案 2 :(得分:0)
不,第二个if
并不总是执行下一个语句。如果两个值均为"Long Term Care"
,则它将执行else
部分中的代码。即:
<input type="text" id="entryType" value="Long Term Care" />
<input type="text" id="followupEntryType" value="Long Term Care" />
如果您希望条件为真,如果两个值都与"Long Term Care"
不同(即如果任何值为else
,它将进入"Long Term Care"
),您应该使用{ {1}}运算符代替:
&&