分かりましたら記述を教えていただけると助かります。
よろしくお願いします。
■対応したい事
selectのoption選択でエリアの要素を表示非表示にしたいです。
ページを閲覧した際の最初は、一番上のオプションのみが表示されている状態にしたいです。
例えば下記コードだと、最初にページを閲覧した際は「北海道エリア」のみ表示されており、
大阪を選択する事で「北海道エリア」は消え、「大阪エリア」が表示されるようにしたいです。
■お願いしたい注意点
selectエリアの要素はシステムで自動で出力された情報を利用するため、
HTML記述側の変更はしたくありません。
よって、<option>最初の一個目だけ何かhtml側の記述を変更する等の対応をしたくないです。
また、必ず北海道になる訳ではありません。
要素の文字を取得で判断ではなく、読み込み時はoptionの一個目がセレクトされた状態で、
要望が多くお手数おかけしますが、jQuery側の記述の変更で対応できるコードの改修があれば教えて頂けたらと思います。
■HTML
<select class="select"> <option>北海道</option> <option>東京</option> <option>大阪</option> <option>兵庫</option> <option>京都</option> </select> <ul> <li class="area">北海道エリア</li> <li class="area">東京エリア</li> <li class="area">大阪エリア</li> <li class="area">兵庫エリア</li> <li class="area">京都エリア</li> </ul>
■css
li .hide { /* 表示の切り替えに使用する */ display: none; }
■jQuery
$('.select').on('change', function(){ // テキストを取得(例:北海道) var area = $(this).children(':selected').text(); $('.area').each(function(){ // 全て非表示にする(初期化) $(this).addClass('hide'); if($(this).html().match(area)){ // 表示する $(this).removeClass('hide'); } }); });
どうかご確認お願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。