2017-12-10 12 views
0

私は現在、ユーザーが入力した値に応じて要素を隠して表示しています。しかし、いくつかの理由で私のif文は、底部のみ3ステートメントが正常に動作しない場合

のJavascriptのif/else条件最初のといないのために働いているようだ:

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

'daysAmount.value'の値は何ですか、どのような結果が期待されますか?また、あなたのHTMLを含めることができますか? – Nisarg

+0

daysAmount.valueの値は、入力フィールドのユーザーから入力された数値です。予想される数値の範囲は1〜15です。 – Cam

答えて

2

は正しく比較するために、整数にあなたの文字列を解析します。

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

ahh perfect!どうもありがとうございます! :) – Cam

関連する問題