Javascriptでifを計算する単純なelse文があります。 "StartStation"の値が "EndStation"より大きい場合、 "StartStation"の値を "EndStation"の値に減算するようにif else文を作成しました。そうでなければ、 "EndStation"値を "StartStation"値に引く。問題は、From:station 8とTo:Station 10を選択すると、+ 2の代わりに-2が得られるということです。javascriptでelseが動作しない場合
HTML
<form>
From:<select id="StartStation">
<option selected="selected">---Please select start station</option>
<option value="1">Station 1</option>
<option value="2">Station 2</option>
<option value="3">Station 3</option>
<option value="4">Station 4</option>
<option value="5">Station 5</option>
<option value="6">Station 6</option>
<option value="7">Station 7</option>
<option value="8">Station 8</option>
<option value="9">Station 9</option>
<option value="10">Station 10</option>
<option value="11">Station 11</option>
<option value="12">Station 12</option>
<option value="12">Station 13</option>
</select>
To:<select id="EndStation">
<option value="1">Station 1</option>
<option value="2">Station 2</option>
<option value="3">Station 3</option>
<option value="4">Station 4</option>
<option value="5">Station 5</option>
<option value="6">Station 6</option>
<option value="7">Station 7</option>
<option value="8">Station 8</option>
<option value="9">Station 9</option>
<option value="10">Station 10</option>
<option value="11">Station 11</option>
<option value="12">Station 12</option>
<option value="12">Station 13</option>
</select>
</form>
<input type="button" value="Search" id="Search"/>
<div id="FareOutput"></div>
Javascriptを
$("#Search").on("click", function(){
var $opt = $("#StartStation option:selected"); //From: Selected
var strno = $opt.val(); // Start value of fare
var $opt2 = $("#EndStation option:selected"); //To: Selected
var endno = $opt2.val(); //End value of fare
// Fare Calculation -----------------------------------------------------
if (strno > endno) { // If the selected station start from South e.g Taft-North
var fare = (strno - endno);
}
else {
var fare = (endno - strno);
}
console.log(fare);
if (fare >=1 && fare <= 2){
var fareresult = "$13"; }
else if (fare >=3 && fare<=4){
var fareresult = "$16";
}
else if (fare >=5 && fare<=7){
var fareresult = "$20";
}
else if (fare >=8 && fare<=10){
var fareresult = "$24";
}
else if (fare >=11 && fare<=12) {
var fareresult = "$28";}
$("#FareOutput").html("Fare:" +" " + fareresult);
});
console.log strnoとendnoを使用できますか? –
ヒント...あなたが少し多くの 'var'を持っていると思いませんか? –