【发布时间】:2016-11-04 21:05:21
【问题描述】:
这个问题是有问题的 cmets 的连续性 How to add plus minus symbol to a bootstrap accordion
如何为嵌套的引导手风琴添加加号和减号并使其正常工作?目前,它们没有按预期切换。
这是我尝试过的:http://jsfiddle.net/4t1qs0uv/2/
HTML:
<div class="panel-group" id="accordion1">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#livingroom-10" class="collapsed">Living Room</a>
</h4>
</div>
<div id="livingroom-10" class="panel-collapse collapse" style="height: 0px;">
<div class="panel-body">
<div class="panel-group" id="accordion2">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#add101">
Air Condition
</a>
</h4>
</div>
<div id="add101" class="panel-collapse collapse">
<div class="panel-body">
<form class="form-inline" role="form">
<div class="form-group">
<label for="usageperday">Usage Per Day</label><br>
<input type="text" class="form-control" name="usageperday-1.0.1" placeholder="Usage Per Day" value="8">
</div>
<div class="form-group">
<label for="numbermonth">Number of days used per month</label><br>
<input type="text" class="form-control" name="numbermonth-1.0.1" placeholder="Number of days used per month" value="30">
</div>
<div class="form-group">
<label for="watts">Watts</label><br>
<input type="text" class="form-control" name="watts-1.0.1" placeholder="Watts" value="1500">
</div>
</form>
</div>
</div>
</div>
</div>
<div class="panel-group" id="accordion2">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#add102">
Fan
</a>
</h4>
</div>
<div id="add102" class="panel-collapse collapse in">
<div class="panel-body">
<form class="form-inline" role="form">
<div class="form-group">
<label for="usageperday">Usage Per Day</label><br>
<input type="text" class="form-control" name="usageperday-1.0.2" placeholder="Usage Per Day" value="8">
</div>
<div class="form-group">
<label for="numbermonth">Number of days used per month</label><br>
<input type="text" class="form-control" name="numbermonth-1.0.2" placeholder="Number of days used per month" value="30">
</div>
<div class="form-group">
<label for="watts">Watts</label><br>
<input type="text" class="form-control" name="watts-1.0.2" placeholder="Watts" value="90">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#bathroom-20" class="collapsed">
Bathroom
</a>
</h4>
</div>
<div id="bathroom-20" class="panel-collapse collapse" style="height: 0px;">
<div class="panel-body">
<div class="panel-group" id="accordion2">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#add2029">
Router
</a>
</h4>
</div>
<div id="add2029" class="panel-collapse collapse">
<div class="panel-body">
<form class="form-inline" role="form">
<div class="form-group">
<label for="usageperday">Usage Per Day</label><br>
<input type="text" class="form-control" name="usageperday-2.0.29" placeholder="Usage Per Day" value="24">
</div>
<div class="form-group">
<label for="numbermonth">Number of days used per month</label><br>
<input type="text" class="form-control" name="numbermonth-2.0.29" placeholder="Number of days used per month" value="30">
</div>
<div class="form-group">
<label for="watts">Watts</label><br>
<input type="text" class="form-control" name="watts-2.0.29" placeholder="Watts" value="10">
</div>
</form>
</div>
</div>
</div>
</div>
<div class="panel-group" id="accordion2">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#add2030">
Scanner
</a>
</h4>
</div>
<div id="add2030" class="panel-collapse collapse">
<div class="panel-body">
<form class="form-inline" role="form">
<div class="form-group">
<label for="usageperday">Usage Per Day</label><br>
<input type="text" class="form-control" name="usageperday-2.0.30" placeholder="Usage Per Day" value="0.1">
</div>
<div class="form-group">
<label for="numbermonth">Number of days used per month</label><br>
<input type="text" class="form-control" name="numbermonth-2.0.30" placeholder="Number of days used per month" value="2">
</div>
<div class="form-group">
<label for="watts">Watts</label><br>
<input type="text" class="form-control" name="watts-2.0.30" placeholder="Watts" value="20">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
JavaScript:
jQuery(function ($) {
var $active = $('#accordion1 .panel-collapse.in').prev().addClass('active');
$active.find('a').append('<span class="glyphicon glyphicon-minus pull-right"></span>');
$('#accordion1 .panel-heading').not($active).find('a').prepend('<span class="glyphicon glyphicon-plus pull-right"></span>');
$('#accordion1').on('show.bs.collapse', function (e) {
$('#accordion1 .panel-heading.active').removeClass('active').find('.glyphicon').toggleClass('glyphicon-plus glyphicon-minus');
$(e.target).prev().addClass('active').find('.glyphicon').toggleClass('glyphicon-plus glyphicon-minus');
});
$('#accordion1').on('hide.bs.collapse', function (e) {
$(e.target).prev().removeClass('active').find('.glyphicon').removeClass('glyphicon-minus').addClass('glyphicon-plus');
});
var $active2 = $('#accordion2 .panel-collapse.in').prev().addClass('active');
$active2.find('a').append('<span class="glyphicon glyphicon-minus pull-right"></span>');
$('#accordion2 .panel-heading').not($active2).find('a').prepend('<span class="glyphicon glyphicon-plus pull-right"></span>');
$('#accordion2').on('show.bs.collapse', function (e) {
$('#accordion2 .panel-heading.active').removeClass('active').find('.glyphicon').toggleClass('glyphicon-plus glyphicon-minus');
$(e.target).prev().addClass('active').find('.glyphicon').toggleClass('glyphicon-plus glyphicon-minus');
});
$('#accordion2').on('hide.bs.collapse', function (e) {
$(e.target).prev().removeClass('active').find('.glyphicon').removeClass('glyphicon-minus').addClass('glyphicon-plus');
});
});
【问题讨论】:
标签: javascript jquery html css twitter-bootstrap