das folgende Snippet jQuery
Code BetrachtenHinzufügen von plus/minus Panel Bootstrap
function toggleIcon(e) {
$(e.target)
.prev('.panel-heading')
.find(".more-less")
.toggleClass('glyphicon-plus glyphicon-minus');
}
$('.panel-group').on('hidden.bs.collapse', toggleIcon);
$('.panel-group').on('shown.bs.collapse', toggleIcon);
Der obige Code ist innerhalb $(document).ready(function(){});
das Markup wie folgt aussieht:
<div class="panel-group" id="collapse">
<div class="panel panel-primary">
<div class="panel-heading">
<h4 class="panel-title"><a data-parent="#collapse" data-toggle="collapse" href="#collapse-one"><i class="more-less glyphicon glyphicon-plus"></i> Item Details
<span class="badge pull-right" id="itemdetails">0</span></a></h4>
</div>
<div class="panel-collapse collapse in" id="collapse-one">
<div class="panel-body">
@for (int i = 0; i < Model.MyList.Count; i++) {
<div class="panel panel-info">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse"
href="#@Model.MyList[i].Number"><i class="more-less glyphicon glyphicon-plus">@Model.MyList[i].Number, @Model.MyList[i].PropA, @Model.MyList[i].PropB</i></a></h4>
</div>
<div class="panel-collapse collapse" id="@Model.MyList[i].Number">
<div class="panel-body"></div>
</div>
</div>
</div>
</div>
}
</div>
</div>
Das ist für jeden funktioniert Panel abgesehen von dem ersten. Das erste Panel ist immer offen und anstatt ein Plus hinzuzufügen, wird ein Minus hinzugefügt. Das erste Panel hat die Klasse panel-collapse collapse in
, die sicherstellt, dass das Panel beim Laden der Seite geöffnet wird.
Bitte beachten Sie, ich habe Platten verschachtelt und das funktioniert auch auch für die, na ja, es ist nur die erste Platte, die mir Probleme
verursacht Kann mir jemand sagen, was ich falsch mache bitte.
Geben Sie auch das entsprechende HTML ein – ZimSystem
@ZimSystem Ich habe mein OP aktualisiert – Code