I have a panel with fields inside an Bootstrap accordion. I need my button to toggle the accordion into expanding and collapsing. Using the click() is not working.
- How to use pure vanilla JS to manipulate the accordion into expanding and collapsing?
- How to make set the default state of the accordion on page loading?
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"
/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<button
type="button"
class="btn btn-info"
onclick="
alert('Hello');
document.getElementById('sample-module').click();
"
>
Toggle Accordian
</button>
<br /><br />
<div class="row">
<div class="col-xs-12">
<div class="panel-group accordion">
<div id="sample-module" class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a
class="accordion-toggle"
data-toggle="collapse"
href="#sample"
aria-expanded="false"
>
<i class="glyphicon glyphicon-chevron-down"></i>
<strong>Sample Accordian</strong></a
>
</h4>
</div>
<div
id="sample"
class="panel-collapse collapse in"
aria-expanded="false"
style=""
>
<div class="panel-body">
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="control-label" for="sample-field-1">
Sample Field 1:
</label>
<div class="controls">
<input
id="sample-field-1"
class="form-control"
name="sample-field-1"
type="text"
/>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="control-label" for="sample-field-2">
Sample Field 2:
</label>
<div class="controls">
<input
id="sample-field-2"
class="form-control"
name="sample-field-2"
type="text"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>