RazorビューエンジンでMVC4を使用しています。
親としての年と子としての月で構成される、ネストされた順序付けられていないリストを表示したいと思います。
次のHTMLについて考えてみます。
<div>
<ul>
@foreach (var yr in Dates.Select(x => x.Year).Distinct())
{
<li><a href="#" class="parent">@yr</a></li>
<ul class="child" style="display: none">
@foreach (var mo in Dates.Where(x => x.Year == yr).Distinct())
{
<li id="@yr"><a href="#" class="submit-link" id="@mo.Month">@mo.ToString("MMMM")</a></li>
}
</ul>
}
</ul>
</div>
次のスクリプトを追加して、「。parent」アンカーをクリックしたときに「.child」(非)が表示されるようにしました。
<script type="text/javascript">
$(function () {
$(".parent").click(function () {
$(this).closest("ul").find(".child").toggle("fast")
return false;
});
});
</script>
ただし、ドキュメント内のすべての「.child」アイテムを切り替えます。子のみを切り替えるようにするにはどうすればよいですか?