Hi,

on a table list of results (amount of rows = unknown) I want to change
the row colour by adding / removing the class name
(class="highlighttr"). As my list is already 2 coloured (class="row1"
and class="row2"), I am checking the current, prev and next class name
of the parent tr element to set back the correct class name.

Now I am on the case, if all rows are checked - I cannot proof the
next and prev element, as all elements having the same "highlight"
class name.

I thought, if I would be able to count all tr rows, I would know on
which row I am currently and I would now the right class name.

Is there a way to count the rows of a specfic< table
class="resultslist"> or even better the TR elements of the <tbody>  of
#resultslist? And how do I know on what row I am currently are when a
checkbox was clicked?

For a better reference I paste you my code.
Thanks so far!


Code:

$(document).ready(function() {
        // Change colour of selected row
        $("input:checkbox").click(function(){
        var checked_status = this.checked;
        //alert(checked_status);


        var name_current = $(this).parents("tr:eq(0)").attr('class');
        var name_next = $(this).parents("tr:eq(0)").next().attr('class');
        var name_prev = $(this).parents("tr:eq(0)").prev().attr('class');
        //alert(name_current);
        //alert(name_next);
        //alert(name_prev);

                if(checked_status == true) {
                        //alert('checked');
                        $(this).parents("tr:eq(0)").removeClass(name_current);
                $(this).parents("tr:eq(0)").addClass('highlighttr');


        }else{
                        //alert('unchecked');
                $(this).parents("tr:eq(0)").removeClass('highlighttr');

                        if(name_next && name_next == 'row1'){
                                $(this).parents("tr:eq(0)").addClass('row2');
                        }else if(name_next && name_next == 'row2'){
                                $(this).parents("tr:eq(0)").addClass('row1');
                        }else if(!name_next && name_prev && name_prev == 
'row1'){
                                $(this).parents("tr:eq(0)").addClass('row2');
                        }else if(!name_next && name_prev && name_prev == 
'row2'){
                                $(this).parents("tr:eq(0)").addClass('row1');
                        }

        }
        });
});

Reply via email to