Я устанавливаю ячейки первого столбца моей сетки следующим классом:
$("#myGrid").jqGrid('setCell',rowid,'column_1', '', '**ui-state-default**');
Как я могу изменить класс ячейки, когда мышь над ней?
Как насчет этого?
$("#myGrid").hover(function(){ $(this).find("td:first").css("background-color", "black"); });
РЕДАКТИРОВАТЬ
$("#myGrid tr").hover( function(){ $(this).find("td:first").addClass('ui-state-hover'); }, function(){ $(this).find("td:first").removeClass('ui-state-hover'); } );
ИЛИ
$("#myGrid tr").mouseenter(function(){ $(this).find("td:first").addClass('ui-state-hover'); }).mouseleave(function(){ $(this).find("td:first").removeClass('ui-state-hover'); });
Вот мое последнее решение. Я буду использовать его следующим образом:
$("#mygrid tr").hover( function(){ $(this).find("td").eq(1).removeClass('ui-state-default'); $(this).addClass("ui-state-hover"); }, function(){ if(!$(this).hasClass("ui-state-active")) $(this).find("td").eq(1).addClass('ui-state-default'); } ); $("#mygrid tr").click(function(){ $("#mygrid tr").each(function() { $(this).find("td").eq(1).addClass('ui-state-default'); }); $(".ui-state-active").removeClass("ui-state-active"); $(".ui-state-highlight").removeClass("ui-state-highlight"); $(this).find("td").eq(1).removeClass('ui-state-default'); $(this).addClass("ui-state-active"); });
Хорошо работает и для сетки внутри тегов ввода текста!
Я решил это примерно так:
$("#myGrid tr").hover(function() { $(this).find("td").eq(1).addClass('ui-state-hover'); }); $("#myGrid tr").mouseout(function() { $(this).find("td").eq(1).removeClass('ui-state-hover') });
О чем ты думаешь?