Jquery 如何重置先前选定的行并在JQGrid中突出显示新行

Jquery 如何重置先前选定的行并在JQGrid中突出显示新行,jquery,jqgrid,Jquery,Jqgrid,我选择并突出显示了第1行,然后选择了第2行并突出显示;当我选择第2行时,我只希望第2行用css突出显示,第1行应该是默认的,或者可能是第1行,我希望删除css。请帮忙 onSelectRow: function(id){ var rowData = $(this).getRowData(id); var memberId= rowData['memberId'];//replace name with any column

我选择并突出显示了第1行,然后选择了第2行并突出显示;当我选择第2行时,我只希望第2行用css突出显示,第1行应该是默认的,或者可能是第1行,我希望删除css。请帮忙

onSelectRow: function(id){
              var rowData = $(this).getRowData(id); 
              var memberId= rowData['memberId'];//replace name with any column

              if(id!==lastSel){ 


                 $(this).find('.ui-state-highlight').css({background:'#80BFFF'});
                 lastSel=id; 

                }

        }

看起来您实际上正在修改“选定”行的CSS。为了正确地删除先前所选元素的“selected”突出显示,您还必须删除css修改。我建议将突出显示颜色放在选定的类中,然后根据该类添加/删除:

CSS

.selected{
background-color:#80BFFF !important;
}
onSelectRow: function(id){
          var rowData = $(this).getRowData(id); 
          var memberId= rowData['memberId'];//replace name with any column

          if(id!==lastSel){
             $(this).find(".selected").removeClass('selected');
             $('#results_table').jqGrid('resetSelection', lastSel, true);

             $(this).find('.ui-state-highlight').addClass('selected');
             lastSel=id; 

            }

    }
JS

.selected{
background-color:#80BFFF !important;
}
onSelectRow: function(id){
          var rowData = $(this).getRowData(id); 
          var memberId= rowData['memberId'];//replace name with any column

          if(id!==lastSel){
             $(this).find(".selected").removeClass('selected');
             $('#results_table').jqGrid('resetSelection', lastSel, true);

             $(this).find('.ui-state-highlight').addClass('selected');
             lastSel=id; 

            }

    }

看起来您实际上正在修改“选定”行的CSS。为了正确地删除先前所选元素的“selected”突出显示,您还必须删除css修改。我建议将突出显示颜色放在选定的类中,然后根据该类添加/删除:

CSS

.selected{
background-color:#80BFFF !important;
}
onSelectRow: function(id){
          var rowData = $(this).getRowData(id); 
          var memberId= rowData['memberId'];//replace name with any column

          if(id!==lastSel){
             $(this).find(".selected").removeClass('selected');
             $('#results_table').jqGrid('resetSelection', lastSel, true);

             $(this).find('.ui-state-highlight').addClass('selected');
             lastSel=id; 

            }

    }
JS

.selected{
background-color:#80BFFF !important;
}
onSelectRow: function(id){
          var rowData = $(this).getRowData(id); 
          var memberId= rowData['memberId'];//replace name with any column

          if(id!==lastSel){
             $(this).find(".selected").removeClass('selected');
             $('#results_table').jqGrid('resetSelection', lastSel, true);

             $(this).find('.ui-state-highlight').addClass('selected');
             lastSel=id; 

            }

    }

jqGrid自动处理选择-是否有默认行为不适用于您的原因?您是正确的!自动进行选择和重置选择;但是当我选择一行时,我想要一个不同的css颜色编码;所以当我这样做的时候;重置发生,但我想删除在选择时设置的颜色。有用链接jqGrid自动处理选择-是否有默认行为不适用于您的原因?您是正确的!自动进行选择和重置选择;但是当我选择一行时,我想要一个不同的css颜色编码;所以当我这样做的时候;重置发生,但我想删除选择时设置的颜色。有用链接