新生活を充実させるための「こだわり」を取材!!

a0とb0を選択したら、abcdefgを表示するプログラムができました。
あとは、a0とb0を選択した場合に、1.2なり、1.5なりという(ここは適宜変える)変数が与えられるように仕組み付けし、
それをif関数の判定を用いて、0>a>2(ここは会社によって違うため適宜変える)の時に、150円なり、170円なりすればいいと思うのですが、そのプログラムの構築の仕方が判りません。
html文はそのまま、js文(html文に直書き)は付け足しで行けると思います。どうすればいいでしょうか。能力なき者泣き寝入りせざるを得ませんか。
<select name="A">
<option value="">--
<option value="a0">a0
<option value="a1">a1
<option value="a2">a2
</select>

<select name="B">
<option value="">--
<option value="b0">b0
<option value="b1">b1
<option value="b2">b2
</select>

<p></p>

<script>

const mess = {
'a0b0': 'abcdefg',
'a0b1': 'hijklmn',
};

document.addEventListener ('change', ()=> {
let sels = document.querySelectorAll ('select[name="A"],select[name="B"]');
let key = [...sels].map (s=> s.value).join ('');
document.querySelector('p').textContent = mess[key] || '';
});

</script>

教えて!goo グレード

A 回答 (2件)

乗車駅と降車駅を選ばせて営業キロを割り出し、


キロ別運賃表にあてはめて運賃を計算したい、
のでしょうか。

オブジェクトの形でデータを用意して検索しましょう。
例)
const 駅間距離 = { 'JT01JT02': {name:'東京-新橋', km:1.9}, ...
const キロ別運賃表 = [ {km:0.0, pr:0}, {km:4.0, pr:140}, ...
var 表題 = 駅間距離[key].name;
var 営業キロ = 駅間距離[key].km;
var 運賃 = キロ別運賃表.find( e=>(営業キロ < e.km) ).pr;
    • good
    • 0

こんにちは



文章を読んでも、何をなさりたいのかよくわかりませんけれど・・

質問者様の頭の中では、なさりたいことはわかっているのでしょうから、ご提示の仕組みで良いのなら、そのままでできるのではないでしょうか?
ご提示のスクリプトを作成できるだけの技量があるのですから、造作もないことでしょう。


とは言え、ご提示の方式だと、数が増えるとデータが膨大になりそうですし、タイトルにある「電車の運賃」の場合は、ルートが複数ある場合や特急の使用/非使用などをどう扱うのでしょうかね・・
まぁ、決め打ちで全て一択にしてしまえば、そのままでもいけるでしょうけれど・・
(昨今は同じルートでも、現金と交通系ICカードで料金が異なりますし・・)
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング