MVC4 アプリケーションで jqueryui を使用して簡単なアコーディオンを作成したいのですが... 機能せず、アコーディオンが表示されません。理由がわかりますか?私の_Layoutフレーム:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta charset="utf-8" />
@Styles.Render("~/Content/bootstrap.min.css")
@Styles.Render("~/Content/bootstrap-responsive.min.css")
@Scripts.Render("~/bundles/modernizr")
@Styles.Render("~/Content/jquery-ui-1.9.2.custom.css")
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.js")" type="text/javascript"></script>
<script type="text/javascript">
$("#itemsList").accordion({ header: "h3" });
</script>
</head>
私の Products.cshtml ビュー:
@{
ViewBag.Title = "Products";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts{
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
}
<h2>Products</h2>
<div class="container">
<div class="row">
<div id="itemsList" class="span3">
@foreach (var item in Model) {
<h3>Room @item.Key</h3>
<div>
@foreach (var product in item.Value) {
<p>id : @product.product.PRODUCT_ID @Ajax.ActionLink("Details", "ProductDetails", new { id = product.product.PRODUCT_ID }, new AjaxOptions {UpdateTargetId = "itemDetails"})</p>
}
</div>
}
</div>
<span id="itemDetails" class="span9">
</span>
</div>
</div>
そこで、アイテムのリストをアコーディオンとして表示したいと思います。twitter ブートストラップ css が原因で、そのように表示されていませんか? 公式 Web サイトから jqueryui css をインポートしました。ありがとう !
EDIT ------------------------------------ Twitterのブートストラップで崩壊クラスを使用するのにうんざりしています。すべてが正常に動作していますが...アコーディオンのコンテンツを表示する代わりに、アコーディオンの見出しをクリックすると、何もしません...ページ内の移動以外は何もしません(myaddress/mypage#idOfHeaderに対応)。これが私のコードです:
<div class="accordion" id="accordion2">
@foreach (var item in Model) {
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#@item.Key">
Room @item.Key
</a>
</div>
@foreach (var product in item.Value) {
<div id="@item.Key" class="accordion-body collapse in">
<div class="accordion-inner">
id : @product.product.PRODUCT_ID @Ajax.ActionLink("Details", "ProductDetails", new { id = product.product.PRODUCT_ID }, new AjaxOptions {UpdateTargetId = "itemDetails"})
</div>
</div>
}
</div>
}
</div>
正しい Web ページを生成しているように見えますが、アコーディオンがうまく再生されません。説明はありますか?