我正在使用Jquery来克隆()一个div并更改其子节点的id,其中一个孩子是Bootstrap-tagsinput。
您可以找到Demo here。
点击添加新游戏后,会添加一个新的div,但输入的代码无法使用!!
这是我的代码(您可以查看完整代码here ):
$('#addrun').click(function () {
var s = $('#run1')
.clone()
.attr('id', '#run' + (++runNum))
.wrap('<div>');
s.find('#tag1').attr('id', 'tag2');
$('#tag2').tagsinput();
$('#addrun').before(s.parent().html());
$(".well").on('click', '.expandbtn', function () {
var $this = $(this).parent();
var $collapse = $this.closest('.RunWell').find('.SystemFiles');
$collapse.collapse('toggle');
});
$('.SystemFiles').collapse('collapse');
});
答案 0 :(得分:1)
在将.tagsinput()
添加到页面后,尝试在#tag2
上致电{。}}。
$('#addrun').before(s.parent().html());
$('#tag2').tagsinput();
修改强>
这可能是由于TagsInput插件如何初始化自身。我要做的是创建空运行容器的模板并将其隐藏在页面上或通过JavaScript加载它。
<div class="control-group hide" id="ControlGroupTemplate">
<label class="control-label" for="textarea">Tools :</label>
<input type="text" class="tags" id="tag1" value="Amsterdam,Washington,Sydney,Beijing"
data-role="tagsinput" />
<br />
<div class="SystemFiles" data-role="collapsible">
<!-- File Button -->
<div class="control-group">
<label class="control-label" for="filebutton">OP Customer DLIS files (PUC)</label>
<div class="controls">
<input id="filebutton" name="filebutton" class="input-file" type="file">
</div>
</div>
<!-- File Button -->
<div class="control-group">
<label class="control-label" for="filebutton">OP logup DLIS files (LUP)</label>
<div class="controls">
<input id="file1" name="filebutton" class="input-file" type="file">
</div>
</div>
<!-- File Button -->
<div class="control-group">
<label class="control-label" for="filebutton">OP Producer DLIS files (PUP)</label>
<div class="controls">
<input id="file2" name="filebutton" class="input-file" type="file">
</div>
</div>
<!-- File Button -->
<div class="control-group">
<label class="control-label" for="filebutton">OP well folder</label>
<div class="controls">
<input id="file3" name="filebutton" class="input-file" type="file">
</div>
</div>
<div class="control-group">
<label class="control-label" for="filebutton">Prints</label>
<div class="controls">
<input id="file4" name="filebutton" class="input-file" type="file">
</div>
</div>
</div>
<button class="btn btn-mini link-btn expandbtn" id="exp" type="button">expand toggle</button>
<button class="btn btn-mini btn-primary"><span class="glyphicon glyphicon-arrow-down">
</span>Duplicate</button>
</div>
然后您克隆ControlGroupTemplate
并将TagsInput
方法应用于它。
var s = $('#ControlGroupTemplate')
.clone()
.attr('id', '#run' + (++runNum))
.wrap('<div>');
s.find('#tag1').attr('id', 'tag2');
$('#addrun').before(s.parent().html());
$('#tag2').tagsinput();
我甚至会使用此方法将您的初始运行添加到document.ready()
处理程序中的页面。