Bootstrap 选项卡无法通过模式中的 AJAX 工作
Bootstrap tabs are not working via AJAX in a modal
它在没有模式和 ajax. 的情况下工作正常但是当我使用 ajax 在模式中加载选项卡式面板时它不会 select Tab Panes
.
<!-- Nav tabs -->
<ul class="nav nav-tabs tabs-left">
<li class="active tab-selection"><a data-toggle="tab" href="#financial">Financial</a></li>
<li class="tab-selection"><a data-toggle="tab" href="#marketing">Marketing</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="financial">Financial Tab</div>
<div class="tab-pane" id="marketing">Marketing Tab</div>
</div>
AJAX
$.ajax({
url : url,
type : "POST",
success:function(data){
$(".modal-body").html(data);
}
});
我的模态
<div aria-hidden="true" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" id="previewForm" class="modal fade">
<div class="modal-dialog" style="width: 675px">
<div class="modal-content">
<div class="modal-header">
<button data-dismiss="modal" class="close" type="button"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h3 id="myModalLabel" class="modal-title">Preview</h3>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
带有数据属性的选项卡在文档加载时执行。
您通过 ajax 调用它 ,所以只需 成功初始化选项卡组件 。
这是一个例子(不是 ajax,而是点击按钮):
Bootply : http://www.bootply.com/sNQH8hGFY9
您的代码:
$.ajax({
url : url,
type : "POST",
success:function(data){
$(".modal-body").html(data);
$('.modal-body .nav').tab(); // <--- Look Here
}
});
我找到了显示关联 nav-tab
的 tabbed-panel
的替代解决方案,如下所示。
$(document).ready(function(){
$(document).on("click",".modal-body li a",function()
{
tab = $(this).attr("href");
$(".modal-body .tab-content div").each(function(){
$(this).removeClass("active");
});
$(".modal-body .tab-content "+tab).addClass("active");
});
});
还要确保 "tab's" ID 对于页面是唯一的。
它在没有模式和 ajax. 的情况下工作正常但是当我使用 ajax 在模式中加载选项卡式面板时它不会 select Tab Panes
.
<!-- Nav tabs -->
<ul class="nav nav-tabs tabs-left">
<li class="active tab-selection"><a data-toggle="tab" href="#financial">Financial</a></li>
<li class="tab-selection"><a data-toggle="tab" href="#marketing">Marketing</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="financial">Financial Tab</div>
<div class="tab-pane" id="marketing">Marketing Tab</div>
</div>
AJAX
$.ajax({
url : url,
type : "POST",
success:function(data){
$(".modal-body").html(data);
}
});
我的模态
<div aria-hidden="true" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" id="previewForm" class="modal fade">
<div class="modal-dialog" style="width: 675px">
<div class="modal-content">
<div class="modal-header">
<button data-dismiss="modal" class="close" type="button"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h3 id="myModalLabel" class="modal-title">Preview</h3>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
带有数据属性的选项卡在文档加载时执行。 您通过 ajax 调用它 ,所以只需 成功初始化选项卡组件 。
这是一个例子(不是 ajax,而是点击按钮):
Bootply : http://www.bootply.com/sNQH8hGFY9
您的代码:
$.ajax({
url : url,
type : "POST",
success:function(data){
$(".modal-body").html(data);
$('.modal-body .nav').tab(); // <--- Look Here
}
});
我找到了显示关联 nav-tab
的 tabbed-panel
的替代解决方案,如下所示。
$(document).ready(function(){
$(document).on("click",".modal-body li a",function()
{
tab = $(this).attr("href");
$(".modal-body .tab-content div").each(function(){
$(this).removeClass("active");
});
$(".modal-body .tab-content "+tab).addClass("active");
});
});
还要确保 "tab's" ID 对于页面是唯一的。