我有一个包含多个引导选项卡的表单,其中包含多个输入和选择字段,有些是必需的,有些不是。
我正在使用 jQuery Validation 插件来验证表单。下面是使用运行正常的引导 css 突出显示和取消突出显示错误:
highlight: function(element) {
$(element).closest('.input-group').addClass('has-error');
},
unhighlight: function(element) {
$(element).closest('.input-group').removeClass('has-error');
},
我真正需要的是,如果任何选项卡没有验证字段,我也希望该选项卡突出显示。
我使用了下面的代码,但有趣的是代码有时它可以工作并用红色突出显示选项卡,有时它不起作用。
if($(".tab-content").find("div.tab-pane:has(div.has-error)").length != 0){
$(".tab-content").find("div.tab-pane:has(div.has-error)").each(function(index, tab){
var id = $(tab).attr("id");
$('a[href="#' + id + '"]').tab('show').addClass('bg-danger');
});
} else {
$(".nav-tabs li a").each(function(){
if($(this).hasClass('bg-danger')){
$(this).removeClass('bg-danger');
}
});
}
我做错了什么,如果有任何必填字段出错,我该如何突出显示选项卡?