• 締切済み

電車の運賃を出すプログラムを作っています。

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

みんなの回答

回答No.2

select要素にname属性 'C' を付けて会社名でも書き連ねます 変数 sels に その'C'のselect要素も集めるようにします。 mess = { 'a0b0c0': 150, 'a0b0c1: 170, }; プログラムを目で追えばわかります。 理解しやすいように短く書いたのですから・・・ -- >能力なき者泣き寝入りせざるを得ませんか 学校では平等だったかもしれませんが、社会では泣くしかありません。 もちろん寝たところで解決しません。 違う道を歩むことをお勧めします。

semboku_love
質問者

補足

人の能力を評価するのはいいですが、才能の限界までいう人は生物としてみることができません。

すると、全ての回答が全文表示されます。
  • _kappe_
  • ベストアンサー率68% (1606/2337)
回答No.1

出発駅・到着駅の数がそれぞれ10くらいずつの規模であれば予め計算して const unchin = { 'a0b0': 150, 'a0b1': 300, 'a0b2': 320, 以下略 }; のように全ての組み合わせをjsに書いておくのが一番簡単です。 本格的なものを作ろうと思ったらグラフ理論の最短経路問題などを学ぶ必要があります。 https://ja.wikipedia.org/wiki/%E6%9C%80%E7%9F%AD%E7%B5%8C%E8%B7%AF%E5%95%8F%E9%A1%8C >能力なき者泣き寝入りせざるを得ませんか。 必要な知識は勉強すればいいですし、数学は苦手だ、難しくて手に負えないと思ったらそういうプログラムを作れる人に依頼すればいいと思います(もちろん、その内容に見合った対価は用意してください)。

すると、全ての回答が全文表示されます。

関連するQ&A