2017-12-10 4 views
0

Ich habe derzeit ein Formular, das Elemente versteckt und anzeigt, abhängig von dem Wert, den der Benutzer eingibt. Aber aus irgendeinem Grund meine if-Anweisung scheint nur für die erste zu arbeiten, wenn/sonst Zustand und nicht den Boden 3Wenn die Anweisung nicht richtig funktioniert

Javascript:

var car1  = document.getElementById("motorbike"); 
var car2  = document.getElementById("smartCar"); 
var car3  = document.getElementById("largeCar"); 
var car4  = document.getElementById("motorhome"); 
var daysAmount = document.getElementById('my-number-days'); 



if (daysAmount.value >= '1' && daysAmount.value <= '5') { 
    car1.style.display = "inline-block"; 
} else { 
    $(car1).hide(400); 
} 

if (daysAmount.value >= '1' && daysAmount.value <= '10') { 
    car2.style.display = "inline-block"; 
} else { 
    $(car2).hide(400); 
} 

if (daysAmount.value >= '3' && daysAmount.value <= '10') { 
    car3.style.display = "inline-block"; 
} else { 
    $(car3).hide(400); 
} 

if (daysAmount.value >= '2' && daysAmount.value <= '15') { 
    car4.style.display = "inline-block"; 
} else { 
    $(car4).hide(400); 
} 
+0

Was ist der Wert von "daysAmount.value", und welches Ergebnis erwarten Sie? Können Sie auch Ihren HTML-Code einfügen? – Nisarg

+0

der Wert von daysAmount.value ist die eingegebene Nummer von einem Benutzer in einem Eingabefeld, die Zahlen reichen von 1 - 15 – Cam

Antwort

2

Parse Saiten auf ganze Zahlen korrekt vergleichen:

var daysAmountInt = parseInt(daysAmount.value); 
if (daysAmountInt >= 1 && daysAmountInt <= 5) { 
    car1.style.display = "inline-block"; 
} else { 
    $(car1).hide(400); 
} 
+0

ahh perfekt! ich danke dir sehr! :) – Cam

Verwandte Themen