Ваше состояние (fixing.toString().indexOf(str2) === -1 || fixingDig.toString().indexOf(str2) === -1)
неверно.
Случай, когда fixing = "No Fixing."
и FixingDig = "No Fixing."
if ("No Fixing.".toString().indexOf("Handrail Ext") === -1 || ...)
// ^--------------------- True -------------------------^
// Since the condition is a OR, the remaining isn't evaluated
Случай, когда fixing = "Bolt Down (610mm)."
и FixingDig = "No Fixing."
if ("Bolt Down (610mm).".toString().indexOf("Handrail Ext") === -1 || ...)
// ^--------------------------True -----------------------------^
// Since the condition is a OR, the remaining isn't evaluated
Случай, когда fixing = "Bolt Down (760mm + Handrail Ext.)."
и FixingDig = "No Fixing."
if ("Bolt Down (760mm + Handrail Ext.).".toString().indexOf("Handrail Ext") === -1 || "No Fixing.".toString().indexOf("Handrail Ext") === -1)
// ^----------------------------------- False ----------------------------------^ ^---------------------- True ------------------------^
// Since the condition is a OR, the remaining IS evaluated. The right part is true, the whole condition is TRUE
Заменить ваше состояние на:
if (fixing.toString().indexOf(str2) === -1 && fixingDig.toString().indexOf(str2) === -1)
// Notice this -----------------^^
Попробуй сам
console.log("No Fixing No Fixing");
if ("No Fixing".toString().indexOf("Handrail Ext") === -1 && "No Fixing".toString().indexOf("Handrail Ext") === -1) {
console.log("not found");
} else {
console.log("found");
}
console.log("Bolt Down (610mm). No Fixing");
if ("Bolt Down (610mm).".toString().indexOf("Handrail Ext") === -1 && "No Fixing".toString().indexOf("Handrail Ext") === -1) {
console.log("not found");
} else {
console.log("found");
}
console.log("Bolt Down (760mm + Handrail Ext.). No Fixing");
if ("Bolt Down (760mm + Handrail Ext.).".toString().indexOf("Handrail Ext") === -1 && "No Fixing".toString().indexOf("Handrail Ext") === -1) {
console.log("not found");
} else {
console.log("found");
}