预先感谢您的任何和所有输入/帮助/建议...
我正在使用 Twitter Bootstrap 选项卡来组织一些信息。这些选项卡将位于表单页面上,每个选项卡将包含一个“联系人表单”,用户可以在提交整个表单之前将多个联系人添加到此页面。
<div class="container">
<ul class="nav nav-tabs">
<li class="active"><a href="#contact_01" data-toggle="tab">Joe Smith</a><span>x</span></li>
<li><a href="#contact_02" data-toggle="tab">Molly Lewis</a><span>x</span> </li>
<li><a href="#" class="add-contact" data-toggle="tab">+ Add Contact</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="contact_01">Contact Form: Joe Smith</div>
<div class="tab-pane" id="contact_02">Contact Form: Molly Lewis</div>
</div>
</div>
完整代码在这里:http://jsfiddle.net/Harlow/zQnck/34/ http://jsfiddle.net/Harlow/zQnck/34/
我试图模仿 jQuery UI 的“简单操作”选项卡示例的功能。
(http://jqueryui.com/tabs/#manipulation http://jqueryui.com/tabs/#manipulation)
我当前所拥有的将添加一个新选项卡,但我希望能够通过单击“+ 添加”来添加一个具有自己的 ID 的新的、唯一的选项卡(从代码继续,如“contact_01、contact_02 等”)新联系人”将始终是最后一个选项卡,但实际上没有自己的选项卡内容窗格。在动态添加内容的另一方面,我希望能够通过单击每个选项卡上的小“x”来删除它。
--EDIT--
只是为了澄清一下,jQuery 示例触发器是单击“新选项卡”时的模式。就我的目的而言,我只想创建一个新选项卡,而不输入选项卡名称或内容(内容将始终是相同的联系表单,并且我同意选项卡名称与新生成的 ID 相同 - 我会稍后自动更新为联系人姓名。)
编辑:我尽可能地复制了原来的小提琴,因为两把小提琴都死了。
新小提琴:http://jsfiddle.net/dogoku/KdPdZ/2/ http://jsfiddle.net/dogoku/KdPdZ/2/
$(".nav-tabs").on("click", "a", function(e){
e.preventDefault();
$(this).tab('show');
})
.on("click", "span", function () {
var anchor = $(this).siblings('a');
$(anchor.attr('href')).remove();
$(this).parent().remove();
$(".nav-tabs li").children('a').first().click();
});
$('.add-contact').click(function(e) {
e.preventDefault();
var id = $(".nav-tabs").children().length; //think about it ;)
$(this).closest('li').before('<li><a href="#contact_'+id+'">New Tab</a><span>x</span></li>');
$('.tab-content').append('<div class="tab-pane" id="contact_'+id+'">Contact Form: New Contact '+id+'</div>');
});
请注意,我删除了悬停功能,而是使用了 css
.nav-tabs > li:hover > span {
display:block;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)