どなたか支援の程よろしくお願いいたします。
セレクトボックス形式二つを作り、施設(コンビニ○○店など)一件と、「複数の物件の値」を格納した選択肢(○○市)を選んだあと、ボタンクリックで施設と複数の物件の距離?を比較して、一番近い物件画像やURLを別ページに表示する方法はありますか?
繰り返し処理を使うべきなのかなとは思いますが、その過程に行くまでの方法がわかりません。
現在使っている言語はHTML&CSS、javascriptです。
他の言語も必要であれば使います。
是非教えてください。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
状況がよく分かりませんが、
簡易的なものでよければこんな感じでしょうか。
<div id="page-1">
<select id="shop">
<option value="a">コンビニA店</option>
<option value="b">コンビニB店</option>
<option value="c">コンビニC店</option>
</select>
<select id="city">
<option value="icity">い市</option>
<option value="rocity">ろ市</option>
<option value="hacity">は市</option>
</select>
<button id="btn" >ボタン</button>
</div>
<div id="page-2">
</div>
<script>
// 施設データ
const conveni = {
a: {x: 99, y: 121},
b: {x: 134, y: 153},
c: {x: 98, y: 150},
}
// 物件データ
const data = {
icity: [
{name: '物件1', x: 123, y: 111},
{name: '物件2', x: 95, y: 191},
{name: '物件3', x: 133, y: 81},
],
rocity: [
{name: '物件4', x: 81, y: 111},
{name: '物件5', x: 95, y: 123},
{name: '物件6', x: 133, y: 123},
],
hacity: [
{name: '物件7', x: 191, y: 161},
{name: '物件8', x: 95, y: 191},
{name: '物件9', x: 143, y: 81},
]};
document.getElementById('btn').addEventListener('click',()=>{
document.getElementById('page-1').style.display = 'none';
const conv = conveni[document.getElementById('shop').value];
const city = data[document.getElementById('city').value]
.map(b => {
b.len = (b.x - conv.x) ** 2 + (b.y - conv.y) ** 2;
return b;
})
.sort((a, b) => a.len - b.len);
document.getElementById('page-2')
.appendChild(Object.assign(document.createElement('ol'),{
innerHTML: city.map(c => `<li>${c.name}</li>`).join('')
}));
},false);
</script>
ご回答ありがとうございます。
自分の実装したい内容で大変助かりました!
この内容に加えて、表示される物件をランキングで表示する方法と
物件名によって画像を表示する方法はありますか?
何度もすみません。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 条件付き書式について 1 2022/12/14 20:38
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) EXCELピボットテーブル(複数アイテム) 1 2023/04/27 12:15
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- PHP PHP MySql ページング 2 2022/09/20 06:38
- HTML・CSS HTMLのフォームについてお尋ねします 1 2022/12/03 21:47
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
リンク先のファイルを開かなく...
-
エクセル指定した範囲からラン...
-
EXCELで条件付き書式で空白セル...
-
彼女のことが好きすぎて彼女の...
-
一番多く表示のある値(文字列...
-
VLOOKUP関数を使用時、検索する...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
【Excelで「正弦波」のグラフを...
-
MIN関数で空白セルを無視したい...
-
エクセルで数式の答えを数値と...
-
白血球が多いとどんな心配があ...
-
エクセルのラベルの値(文字列...
-
風俗店へ行く前のご飯
-
爪が紫色?
-
WORDで複数語句を検索するには
-
エクセルで空白セルを含む列の...
-
エクセル 合計が100%を超...
-
値が入っているときだけ計算結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
EXCELで式からグラフを描くには?
-
勃起する時って痛いんですか? ...
-
2つの数値のうち、数値が小さい...
-
エクセルで数式の答えを数値と...
-
エクセル指定した範囲からラン...
-
これって喉仏ですか? 私は女性...
-
精液の落とし方を教えてください
-
EXCELで条件付き書式で空白セル...
-
リンク先のファイルを開かなく...
-
検便についてです。 便は取れた...
-
小数点以下を繰り上げたものを...
-
エクセルのラベルの値(文字列...
-
風俗店へ行く前のご飯
-
イタリアから帰国する際、肉製...
-
一番多く表示のある値(文字列...
-
ある範囲のセルから任意の値を...
-
化合物のモル吸光係数データベ...
おすすめ情報