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

前提

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' => '福島県']; }

コメントを投稿

0 コメント