質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1077閲覧

都道府県と紐付けた市区町村データを複数のチェックボックスで表示したい

tetsutetsu

総合スコア13

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2022/07/24 09:07

編集2022/07/24 09:50

前提

https://www.soumu.go.jp/toukei_toukatsu/index/seido/9-5.htm#:~:text=CSV%E5%BD%A2%E5%BC%8F%EF%BC%89,%E5%85%A8%E5%9B%BD%EF%BC%88CSV%EF%BC%9A103KB%EF%BC%89

上記のリンク先から標準地域コードの全国CSVをインポートし
47都道府県を階層別に表示を行いたいです。

CSVを加工して保存しております
イメージ説明

実現したいこと

上記の写真が現在の画面となっております。

例えば青森のチェックボックスを押下した際(cssの影響でチェックボックスが消えております)に青森内の市区町村を表示するようにしたいです。

発生している問題・エラーメッセージ

該当の都道府県を押下した際に市区町村を表示させたいのですがロジックが思い浮かびません。
該当のソースコードからアドバイスをいただきたいです。

該当のソースコード

コントローラー

$prefCities = PrefCity::all(); ←市区町村CSVインポートデータ $scenes = SceneType::asSelectArray(); ←Enum $payments = PaymentType::asSelectArray(); ←Enum $prefecture = PrefectureType::asSelectArray(); ←Enum return view('admin.contents.edit', [ 'request' => $request, 'partner' => $partner, 'prefCities' => $prefCities, 'scenes' => $scenes, 'payments' => $payments, 'prefecture' => $prefecture ]);

view

<tr> <th>エリア</th> <td> @foreach($prefCities as $prefCity) <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="hokkaido" ><label>北海道すべて</label></div> @if ($prefCity->prefecture_code == '1') @foreach (App\Enums\PrefectureType::hokkaido() as $key => $value) <span class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></span> @endforeach @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="tohoku" ><label>東北すべて</label></div> @if(App\Enums\PrefectureType::tohoku() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="kanto" ><label>関東すべて</label></div> @if(App\Enums\PrefectureType::kanto() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="hokuriku" ><label>北陸すべて</label></div> @if (App\Enums\PrefectureType::hokuriku() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="tokai" ><label>東海すべて</label></div> @if(App\Enums\PrefectureType::tokai() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="kinki" ><label>近畿すべて</label></div> @if(App\Enums\PrefectureType::kinki() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="tyugoku" ><label>中国すべて</label></div> @if(App\Enums\PrefectureType::tyugoku() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="sikoku" ><label>四国すべて</label></div> @if(App\Enums\PrefectureType::shikoku() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="kyushu" ><label>九州すべて</label></div> @if(App\Enums\PrefectureType::kyushu() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> <div class="c-table02__row"> <div class="u-flex"> <div class="a-form02--check01"><input type="checkbox" name="okinawa" ><label>沖縄すべて</label></div> @if(App\Enums\PrefectureType::okinawa() as $key => $value) <div class="a-form02--check01"><input type="checkbox" value="{{ $key }}" name="{{ $key }}" ><label>{{ $value }}</label></div> @endif </div> </div> @endforeach </td> </tr>

enumに地方別のに県名を記述

public static function hokkaido() { return ['1' => '北海道']; } public static function tohoku() { return ['2' => '青森県', '3' => '岩手県', '4' => '宮城県', '5' => '秋田県', '6' => '山形県', '7' => '福島県']; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2022/07/24 09:46

例えば青森県には、10の市と22の町、8の村の計40市町村があるようですが、そのデータをどう持って、どのように表示したいのでしょうか?
tetsutetsu

2022/07/24 09:55

>例えば青森県には、10の市と22の町、8の村の計40市町村があるようですが 計40件の市町村を青森県直下に表示します。 流れは47都道府県の全市区町村データをコレクションで取得し全市区町村データ(約2000件)を foreachでチェックボックスで表示します(都道府県は表示、市区町村はhiddenをつけて表示しない)。 該当の都道府県を選択した際、選択した都道府県に紐づいてある市区町村を表示する想定です
guest

回答1

0

こちらのブログにサンプルコードなど書いてありました。

https://blog.myntinc.com/2023/02/blog-post_03.html

投稿2023/02/04 00:07

geta

総合スコア241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問