我有一个div,它有多个子div或面板,在页面加载时,附加了样式,在页面上以正确的方式放置它们。我有一个添加新面板的按钮,但该面板没有添加必要的样式。 (该方法是jQuery insertAfter
函数)。我正在使用Syrena Admin模板,所以我不知道调用重新解析元素的函数。有没有办法重新加载div,就好像页面正在重新加载?换句话说,有没有办法只重新加载页面的一部分?
<div class="magic-layout isotope">
<div id="panel2" class="panel panel-default magic-element isotope-item">
<div class="panel-heading">
<span class="panel-title">Additional</span>
</div>
<div class="panel-body">
<div class="form-group">
<input type="text" name="role[]" placeholder="Role" class="form-control" display="text" />
<input type="text" name="first_name[]" placeholder="First Name" class="form-control" display="text"/>
<input type="text" name="last_name[]" placeholder="Last Name" class="form-control" display="text"/>
<input type="text" name="phone[]" placeholder="Phone Number" class="form-control" display="text" />
</div>
<div class="form-group">
<input type="text" name="address_line_1[]" placeholder="Address Line 1" class="form-control" display="text"/>
<input type="text" name="address_line_2[]" placeholder="Address Line 2" class="form-control" display="text" value=""/>
<input type="text" name="line_3[]" placeholder="City, State Zip" class="form-control" display="text"/>
<input type="hidden" name="contact_id[]" value="">
</div>
</div>
</div>
<additional></additional>
<div id="panel2" class="panel panel-default magic-element isotope-item">
<div class="panel-heading">
<button type="button" class="btn btn-info btn-block" onclick="addRow(this.form)">Add</button>
</div>
</div>
</div>
var rowNum = 0;
function addRow(frm) {
rowNum++;
var row = '<div id="panel2" class="panel panel-default magic-element isotope-item"><div class="panel-heading"><span class="panel-title">Additional</span></div><div class="panel-body"><div class="form-group"><input type="text" name="role[]" placeholder="Role" class="form-control" display="text" /> <input type="text" name="first_name[]" placeholder="First Name" class="form-control" display="text"/><input type="text" name="last_name[]" placeholder="Last Name" class="form-control" display="text"/><input type="text" name="phone[]" placeholder="Phone Number" class="form-control" display="text" /></div><div class="form-group"><input type="text" name="address_line_1[]" placeholder="Address Line 1" class="form-control" display="text"/><input type="text" name="address_line_2[]" placeholder="Address Line 2" class="form-control" display="text" value=""/><input type="text" name="line_3[]" placeholder="City, State Zip" class="form-control" display="text"/><input type="hidden" name="contact_id[]" value=""></div></div></div>';
$(row).insertAfter('additional');
}
答案 0 :(得分:3)
我认为按钮的点击事件未正确绑定到您的函数addRow
。
不是从onclick="addRow(this.form)"
绑定事件,而是尝试按如下方式创建click事件:
$(function() {
$("#mybutton").click(function() {
addRow($(this));
});
});
其中mybutton
是添加按钮:
<button type="button" class="btn btn-info btn-block" id="mybutton">Add</button>
这是一个小提琴,包括所做的更改:Fiddle
试试让我知道:)