3

演示

$(function (){                
    selectServiceRow(1) ;
    $(document).on('click', '#tableList', function (e){
         var index = parseInt($(e.target).closest('tr').index());
         if(index==0){return;}
         selectServiceRow(index);
    });
});

function selectServiceRow(rowIndex){                 
     $('#tableList').find('tr').eq(rowIndex)
          .removeClass('csstrred').addClass('csstablelisttdselected');
}

从上面的小提琴你看到,当我点击表中的任何行时,默认选择第一行我必须显示任何具有 id 'error' 的行都是红色的,但点击的行必须具有类 csstablelistselected' *示例: *默认情况下第一行被选中。如果我单击第 4 行,则第 1 行类显示为红色,因为 tr id 是“错误”我该怎么办。

4

2 回答 2

1

您正在使用 的多个 ID error,您应该真正使用一个类(使用重复的 ID 不是一个好习惯,并且在选择它们时会证明是一场噩梦)。

无论如何,这将解决它:

function selectServiceRow(rowIndex)
{
    var found = $("#tableList tr:eq(" + rowIndex + ")");
    $("#tableList tr").removeClass("csstablelisttdselected");
    $("#tableList tr[id='error']").addClass("csstrred");
    found.addClass('csstablelisttdselected').removeClass("csstrred");   
}

小提琴:http: //jsfiddle.net/WVQ5p/5/

于 2013-03-12T11:21:49.397 回答
1

试试这个:

$(function ()
{                
    selectServiceRow(1) 

    $(document).on('click', '#tableList', function (e)
    {
        $('#tableList tr.csstablelisttdselected').each(function(){
            $(this).removeClass('csstablelisttdselected');
        });
        var index = parseInt($(e.target).closest('tr').index());
        if(index==0){return;}
        selectServiceRow(index);
    });
});

小提琴:http: //jsfiddle.net/WVQ5p/4/

于 2013-03-12T11:25:40.330 回答