JSFiddle - React, Tailwind, and code Playground
HTML
<script src=" https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<div class="panel panel-success">
<div data-toggle="collapse" data-target="#panel1" class="panel-heading collapsed">
<h4 class="panel-title">
<a> Panel 1 </a>
</h4>
</div>
<div id="panel1" class="panel-collapse collapse">
<div class="panel-body">
</div>
</div>
</div>
<div class="panel panel-warning">
<div data-toggle="collapse" data-target="#panel2" class="panel-heading collapsed">
<h4 class="panel-title">
<a> Panel 2 </a>
</h4>
</div>
<div id="panel2" class="panel-collapse collapse">
<div class="panel-body">
</div>
</div>
</div>
<div class="panel panel-danger">
<div data-toggle="collapse" data-target="#panel3" class="panel-heading collapsed">
<h4 class="panel-title">
<a> Panel 3 </a>
</h4>
</div>
<div id="panel3" class="panel-collapse collapse">
<div class="panel-body">
</div>
</div>
</div>
CSS
.panel
{
border: 1px solid black;
}
JavaScript
var activePanels = [];
$(".panel .panel-collapse").on('shown.bs.collapse', function ()
{
var active = $(this).attr('id');
activePanels.push(active);
$.cookie('activePanelGroup', activePanels);
console.log($.cookie('activePanelGroup'));
});
$(".panel .panel-collapse").on('hidden.bs.collapse', function ()
{
var selectedPanel = $(this).attr('id');
var index = activePanels.indexOf(selectedPanel);
if (index > -1)
activePanels.splice(index, 1);
$.cookie('activePanelGroup', activePanels);
console.log($.cookie('activePanelGroup'));
});
var aPanels = $.cookie('activePanelGroup');
if (aPanels != null)
{
//remove default collapse settings
$(".panel .panel-collapse").removeClass('in');
// put all active ids to array
var arr = aPanels.split(",");
// loop on each active panels
$.each( arr, function( key, value ) {
//show the account_last visible group
$("#" + value).addClass("in");
// store again the selected panels so it won't get reset on reload
activePanels.push(value);
$.cookie('activePanelGroup', activePanels);
});
}