プロが教えるわが家の防犯対策術!

以下のようなjavascrptの文があります。

function kotae() { ten=0 if((f.q1.value == "中百舌鳥"&&f.q2.value == "深井")||(f.q1.value == "深井"&&f.q2.value == "中百舌鳥")) {f.q1.style.backgroundColor="aqua ";ten = ten + 3.7}
else if((f.q1.value == "中百舌鳥"&&f.q2.value == "深井")||(f.q1.value == "深井"&&f.q2.value == "中百舌鳥")) {f.q1.style.backgroundColor="aqua ";ten = ten + 7.8}
else f.q1.style.backgroundColor="red" f.tokuten.value=ten if(f.tokuten.value >0){f.rank.value = '170(90)'}
else if(f.tokuten.value >2){f.rank.value = '190(100)'}
else if(f.tokuten.value >4){f.rank.value = '210(110)'}
else if(f.tokuten.value >6){f.rank.value = '230(120)'}
else if(f.tokuten.value >8){f.rank.value = '250(130)'}
else if(f.tokuten.value >8){f.rank.value = '270(140)'} }
f.tokuten.value>0や2という数字は、それぞれ0km以上の運賃、2㎞以上の運賃という意味です。
それぞれ、170円、190円の定期運賃となります。
但し、この方法ですと、定期運賃だけしか表記することができません。
if文と配列を組み合わせて、{定期運賃、回数運賃…という風な表記をしたいのですが、どのようにしたらよいのでしょうか。ifの中に連想配列を組みたいです。

A 回答 (1件)

ちょっと何を言っているかよくわからないのですが、連想配列は必要ですか?


リストのVALUE領域を上手く使えば何とかなりそうな気がするのですが
<script type="text/javascript">
function kotae()
{
f.distance.value = Math.abs(f.q1.value - f.q2.value);
if(f.distance.value <= 2){f.price.value = '170(90)'}
else if(f.distance.value <= 4){f.price.value = '190(100)'}
else if(f.distance.value <= 6){f.price.value = '210(110)'}
else if(f.distance.value <= 8){f.price.value = '230(120)'}
else if(f.distance.value <= 10){f.price.value = '250(130)'}
else {f.price.value = '270(140)'}
}
</script>
<body>
<form name="f">
出発駅
<select name="q1">
<option value=0>中百舌鳥</option>
<option value=3.7>深井</option>
<option value=7.8>泉ヶ丘</option>
<option value=10.02>栂・美木多</option>
<option value=12.1>光明池</option>
<option value=14.3>和泉中央</option>
</select>
です。
<p>
到着駅
<select name="q2">
<option value=0>中百舌鳥</option>
<option value=3.7>深井</option>
<option value=7.8>泉ヶ丘</option>
<option value=10.02>栂・美木多</option>
<option value=12.1>光明池</option>
<option value=14.3>和泉中央</option>
</select>
です。
<BR>
<input type="button" name="b1" value="答え合わせ" onclick="kotae()">
<input name=distance size="6">距離
<input name=price size="6">金額
</form>
</body>
    • good
    • 0
この回答へのお礼

それでは嫌です。

お礼日時:2022/07/03 15:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!