admin管理员组文章数量:1431037
I am experiencing a problem to create Bootstrap Panel dynamically and that panel contains a form for the "Day Schedule Info"... I tried to do it with the help of the following code but it is not working correctly the way I want
HTML
<div class="col-md-6 it-right-side pull-right">
<div>
<div class="col-md-12" id="dynamicInput">
<!--Start Panel-->
<div class="panel-group" id="accordion">
<div class="panel panel-info">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse1">
Day 1
<i class="fa fa-plus pull-right" aria-hidden="true"></i>
</a>
</h4>
</div>
<div id="collapse1" class="panel-collapse collapse">
<div class="panel-body">
{{--Schedule--}}
<div class="row">
<div class="col-md-12 sch-box">
<div class="col-md-6 form-group"><input type="time" class="form-control" value="00:00" id="sch-s-time" name="sch-s[]"></div>
<div class="col-md-6 form-group"><input type="time" class="form-control" value="00:00" id="sch-e-time" name="sch-e[]"></div>
<div class="col-md-12 form-group"><input type="text" class="form-control" placeholder="Enter Description" id="sch-title" name="sch-title[]"></div>
<div class="col-md-12 form-group"><textarea id="sch-title" class="form-control vresize" name="sch-title[]"></textarea></div>
</div>
</div>
</div>
</div>
<button type="button" class="btn center-block"><i class="fa fa-plus"></i> </button>
</div>
<button type="button" class="btn center-block" onClick="addInput('dynamicInput');"><i class="fa fa-plus"></i> </button>
</div>
</div>
<!--End panel-->
</div>
</div>
JAVASCRIPT
<script>
var counter = 1;
var limit = 6;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newdiv = document.createElement('panel');
newdiv.innerHTML = '<div class="panel panel-info">' +
'<h4 class="panel-title">' +
'<a data-toggle="collapse" data-parent="#accordion" href="#collapse' + (counter + 1) + '">Day ' + (counter + 1) + '<i class="fa fa-plus pull-right" aria-hidden="true"></i></a></h4>' +
'</div> ' +
'<div id="collapse' + (counter + 1) + '" class="panel-collapse collapse">' +
'<div class="panel-body">' +
'<div class="row">' +
'<div class="col-md-12 sch-box">' +
'<div class="col-md-6 form-group">' +
'<input type="time" class="form-control" value="00:00" id="sch-s-time" name="sch-s[]">' +
'</div>' +
'<div class="col-md-6 form-group">' +
'<input type="time" class="form-control" value="00:00" id="sch-e-time" name="sch-e[]">' +
'</div>' +
'<div class="col-md-12 form-group">' +
'<input type="text" class="form-control" placeholder="Enter Description" id="sch-title" name="sch-title[]">' +
'</div>' +
'<div class="col-md-12 form-group">' +
'<textarea id="sch-title" class="form-control vresize" name="sch-title[]"></textarea>' +
'</div></div></div></div></div>';
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
</script>
I am experiencing a problem to create Bootstrap Panel dynamically and that panel contains a form for the "Day Schedule Info"... I tried to do it with the help of the following code but it is not working correctly the way I want
HTML
<div class="col-md-6 it-right-side pull-right">
<div>
<div class="col-md-12" id="dynamicInput">
<!--Start Panel-->
<div class="panel-group" id="accordion">
<div class="panel panel-info">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse1">
Day 1
<i class="fa fa-plus pull-right" aria-hidden="true"></i>
</a>
</h4>
</div>
<div id="collapse1" class="panel-collapse collapse">
<div class="panel-body">
{{--Schedule--}}
<div class="row">
<div class="col-md-12 sch-box">
<div class="col-md-6 form-group"><input type="time" class="form-control" value="00:00" id="sch-s-time" name="sch-s[]"></div>
<div class="col-md-6 form-group"><input type="time" class="form-control" value="00:00" id="sch-e-time" name="sch-e[]"></div>
<div class="col-md-12 form-group"><input type="text" class="form-control" placeholder="Enter Description" id="sch-title" name="sch-title[]"></div>
<div class="col-md-12 form-group"><textarea id="sch-title" class="form-control vresize" name="sch-title[]"></textarea></div>
</div>
</div>
</div>
</div>
<button type="button" class="btn center-block"><i class="fa fa-plus"></i> </button>
</div>
<button type="button" class="btn center-block" onClick="addInput('dynamicInput');"><i class="fa fa-plus"></i> </button>
</div>
</div>
<!--End panel-->
</div>
</div>
JAVASCRIPT
<script>
var counter = 1;
var limit = 6;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newdiv = document.createElement('panel');
newdiv.innerHTML = '<div class="panel panel-info">' +
'<h4 class="panel-title">' +
'<a data-toggle="collapse" data-parent="#accordion" href="#collapse' + (counter + 1) + '">Day ' + (counter + 1) + '<i class="fa fa-plus pull-right" aria-hidden="true"></i></a></h4>' +
'</div> ' +
'<div id="collapse' + (counter + 1) + '" class="panel-collapse collapse">' +
'<div class="panel-body">' +
'<div class="row">' +
'<div class="col-md-12 sch-box">' +
'<div class="col-md-6 form-group">' +
'<input type="time" class="form-control" value="00:00" id="sch-s-time" name="sch-s[]">' +
'</div>' +
'<div class="col-md-6 form-group">' +
'<input type="time" class="form-control" value="00:00" id="sch-e-time" name="sch-e[]">' +
'</div>' +
'<div class="col-md-12 form-group">' +
'<input type="text" class="form-control" placeholder="Enter Description" id="sch-title" name="sch-title[]">' +
'</div>' +
'<div class="col-md-12 form-group">' +
'<textarea id="sch-title" class="form-control vresize" name="sch-title[]"></textarea>' +
'</div></div></div></div></div>';
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
</script>
Share
Improve this question
edited Feb 3, 2017 at 8:21
neophyte
6,6342 gold badges31 silver badges43 bronze badges
asked Feb 3, 2017 at 7:12
Jamal AhmadJamal Ahmad
7213 gold badges11 silver badges28 bronze badges
2 Answers
Reset to default 3- You should create div element (not panel).
var newdiv = document.createElement('div');
- You forgot
.panel-heading
div.
'<div class="panel panel-info">' +
'<div class="panel-heading">'
CODEPEN
I did some changes to your script. Here i am using jquery function to append. Also there is no such element 'panel' which you are trying to create.
<script type="text/javascript">
var counter = 1;
var limit = 6;
function addInput(divName) {
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
newdiv = '<div class="panel panel-info">' +
'<h4 class="panel-title">' +
'<a data-toggle="collapse" data-parent="#accordion" href="#collapse' + (counter + 1) + '">Day ' + (counter + 1) + '<i class="fa fa-plus pull-right" aria-hidden="true"></i></a></h4>' +
'</div> ' +
'<div id="collapse' + (counter + 1) + '" class="panel-collapse collapse">' +
'<div class="panel-body">' +
'<div class="row">' +
'<div class="col-md-12 sch-box">' +
'<div class="col-md-6 form-group">' +
'<input type="time" class="form-control" value="00:00" id="sch-s-time" name="sch-s[]">' +
'</div>' +
'<div class="col-md-6 form-group">' +
'<input type="time" class="form-control" value="00:00" id="sch-e-time" name="sch-e[]">' +
'</div>' +
'<div class="col-md-12 form-group">' +
'<input type="text" class="form-control" placeholder="Enter Description" id="sch-title" name="sch-title[]">' +
'</div>' +
'<div class="col-md-12 form-group">' +
'<textarea id="sch-title" class="form-control vresize" name="sch-title[]"></textarea>' +
'</div></div></div></div></div>';
$("#" + divName).append(newdiv);
counter++;
}
}
</script>
本文标签: htmlhow to create bootstrap Panel dynamically through javascriptStack Overflow
版权声明:本文标题:html - how to create bootstrap Panel dynamically through javascript? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745538148a2662367.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论