tim
tim

Reputation: 970

Trouble with shading every other row in a table

I'm having trouble shading every other row of a table after certain filters are applied and some rows become hidden/visible. $("#tableJudges tr:not([th]):even").addClass("altr"); is called immediately, and $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr'); gets called whenever there's rows hidden/made visible. Still there's multiple rows that are shaded, rather than every other row being shaded. Can anyone tell me why this is?

Full source:

$(document).ready(function(){
        $("#tableJudges tr:not([th]):even").addClass("altr");
            toggleJudges();

    // inactive/active judge drop down changed
    $('#judgeStatusDropDown').change(function(){
        toggleJudges();
    });

    // judge section drop down changed
    $('#judgeSectionDropDown').change(function(){
        toggleJudges();
    });
});

function toggleJudges(){

    var selectedString = $('#judgeStatusDropDown').val() + ' ' + $('#judgeSectionDropDown').val();
    switch (selectedString){
        case 'Both All Sections':
            $('#tableJudges tr').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
            break;

        case 'Both Bowens':
            $('#tableJudges tr:gt(1)').hide();
            $('#tableJudges tr[info="Active Bowens"]').show();
            $('#tableJudges tr[info="Inactive Bowens"]').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
            break;

        case 'Both Complex':
            $('#tableJudges tr:gt(1)').hide();
            $('#tableJudges tr[info="Active Complex"]').show();
            $('#tableJudges tr[info="Inactive Complex"]').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
            break;

        case 'Both Non-complex':
            $('#tableJudges tr:gt(1)').hide();
            $('#tableJudges tr[info="Active Non-Complex"]').show();
            $('#tableJudges tr[info="Active Non-Complex"]').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
            break;

        case 'Both Specialty':
            $('#tableJudges tr:gt(1)').hide();
            $('#tableJudges tr[info="Active Specialty"]').show();
            $('#tableJudges tr[info="Active Specialty"]').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
            break;

        case 'Inactive All Sections':
            $('#tableJudges tr:gt(1)').hide();
            $('#tableJudges tr[info="Inactive Bowens"]').show();
            $('#tableJudges tr[info="Inactive Complex"]').show();
            $('#tableJudges tr[info="Inactive Non-complex"]').show();
            $('#tableJudges tr[info="Inactive Specialty"]').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
            break; 

        case 'Active All Sections':
            $('#tableJudges tr:gt(1)').hide();
            $('#tableJudges tr[info="Active Bowens"]').show();
            $('#tableJudges tr[info="Active Complex"]').show();
            $('#tableJudges tr[info="Active Non-complex"]').show();
            $('#tableJudges tr[info="Active Specialty"]').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
            break;          

        default:
            $('#tableJudges tr:gt(1)').hide();
            $('#tableJudges tr[info="'+selectedString+'"]').show();
            $('#tableJudges').removeClass('altr').filter(':visible:not([th]):even').addClass('altr');
    }
}

Upvotes: 1

Views: 130

Answers (1)

Blazemonger
Blazemonger

Reputation: 92893

$('#tableJudges').removeClass('altr') should be $('#tableJudges tr').removeClass('altr')

Upvotes: 2

Related Questions