angularjs - 在更改时对引导导航选项卡进行验证
问题描述
Usign AngularJS 和 bootsrap 3。我有 3 个导航选项卡,上面有面板。如果用户没有选择客户或 DVD,我如何以编程方式防止选项卡更改为下一个选项卡。在 bot 的 customerSelect 和 dvdSelect 选项卡上,我有一个面板,其中包含用户选择客户的列表,还有一个 dvd 列表。
<div class="row">
<div class="panel panel-default">
<ul class="nav nav-tabs">
<li class="active in"><a data-target="#customerSelect" data-toggle="tab">Customer</a></li>
<li><a data-target="#dvdSelect" data-toggle="tab">Dvd List</a></li>
<li><a data-target="#orderDetail" data-toggle="tab">Order Details</a></li>
</ul>
</div>
</div>
<div class="row">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="customerSelect">
</div>
</div>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade" id="dvdSelect">
</div>
</div>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade" id="orderDetail">
</div>
</div>
</div>
我在标签内容 div 中省略了很多代码。
解决方案
使用 JQuery,引导选项卡有 4 个不同的事件:
show.bs.tab // Occurs when the tab is about to be shown.
shown.bs.tab // Occurs when the tab is fully shown (after CSS transitions have completed)
hide.bs.tab // Occurs when the tab is about to be hidden
hidden.bs.tab // Occurs when the tab is fully hidden (after CSS transitions have completed)
您可以使用的伪示例:
$('.nav-tabs a').on('show.bs.tab', function(){
console.log('validation starts...');
if (correct!==true){
$('#tab1').tab('show');
}else{
$('#tab2').tab('show');
}
});
推荐阅读
- uml - 将图表转换为文本的可视图表编辑器
- sql - 审查超过 3 个月和最近 30 天内的脚本
- filehelpers - 使用动态列导入 CSV
- android - 在 Kotlin 中忽略 ListPreference 更改
- pytorch - ret = torch._C._nn.nll_loss2d 中的错误(输入,目标,权重,_Reduction.get_enum(reduction),ignore_index)
- c - 计算 valgrind 错误而不报告它们
- jquery - 未捕获的类型错误:$(...).sidebar 不是函数
- php - 获取列的表名/实体
- pytorch - 在表格数据上创建 fastai 模型后如何对新数据进行评分?
- vue.js - Vuejs如何以这样的方式将一个数组分配给另一个数组,使得两个数组对更改没有反应