3

我有一个包含多个引导选项卡的表单,其中包含多个输入和选择字段,有些是必需的,有些不是。

我正在使用 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');
        }
    });
}

我做错了什么,如果有任何必填字段出错,我该如何突出显示选项卡?

4

0 回答 0