入れ子になったHTML ulリストに基づいて「入れ子になった」選択メニューを作成したいと思います。たとえば、ユーザーにはカテゴリの選択メニューが表示され、そのルートカテゴリのオプションを選択すると、サブカテゴリを持つ別の選択メニューが開きます。 (サブカテゴリーにサブカテゴリーがある場合はサイクルが続き、ulリストに基づいて任意の数のサブカテゴリー・サブメニューを開くことができるようにしたい)ネストされたulリストに基づいてネストされた選択メニューを作成するにはどうすればよいですか?
たとえば、ページ:上記の例で
<ul id="select-menu-layout" style="display: none">
<li>A option
<ul>
<li>a1 name</li>
<li>a2 name</li>
<li>a3 name</li>
</ul>
</li>
<li>B option
<ul>
<li>b1 name</li>
<li>b2 name
<ul>
<li>b21 choice</li>
<li>b22 choice</li>
<li>b23 choice</li>
</ul>
</li>
<li>b3 name</li>
</ul>
</li>
<li>C name</li>
</ul>
<!-- select menus will be shown in the container below -->
<div class="select-menu-container"></div>
、1が最初に示したメニューが選択されます:
<select>
<option>A option</option>
<option>B option</option>
<option>C option</option>
</select>
は「Bオプション」を選択すると、その後、(上記のHTMLリストに基づいて)この第2の選択メニューが表示されます:
「B2名前は」その後、この第三の選択メニューが表示されます選択10<select>
<option>b1 name</option>
<option>b2 name</option>
<option>b3 name</option>
</select>
:
<select>
<option>b21 choice</option>
<option>b22 choice</option>
<option>b23 choice</option>
</select>
は、私はあなたがこれを行うにはJavaScript/jQueryのをする必要がありますと仮定していますか?私はこのコードのラインに沿って考えています(私はおそらく非常に間違っていますが):
<div class="select-menu-container"></div>
<script>
function addSelectMenu(node){
$(".select-menu-container").append("<select style='display: none'></select>")
node.each(function(){
var name = $(this).val()
$("select:last").append("<option>" + name + "</option>")
})
}
$("ul").each(function(){
addSelectMenu($(this))
})
</script>
アイデアはありますか?
あなたは絶対に信じられないです!このソリューションは完全に機能します。コードは素晴らしく、あなたは私のような初心者のために簡単に理解できました。どうもありがとうございます!! :) – sjsc