фрагмент jqgrid:
gridComplete: function(){
var ids = jQuery("#breed_list").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++)
{
var cl = ids[i];
ed = "<img src="../images/edit.png" alt="Edit" onclick="jQuery('#breed_list').editRow('"+cl+"');" />";
de = "<img class="del_row" src="../images/delete.png" alt="Delete" />";
ce = "<input class="del_row" type='button' onclick="deleteRow()" />";
jQuery("#breed_list").jqGrid('setRowData',ids[i],{act:ed+de+ce});
}
$(this).mouseover(function() {
var valId = $('.ui-state-hover').attr("id");
jQuery("#breed_list").setSelection(valId, false);
alert(valId);
//deleteRow(valId)
});
Код пользовательской функции:
function deleteRow(){
// Get the currently selected row
var toDelete = $("#breed_list").jqGrid('getGridParam','selrow');
// You'll get a pop-up confirmation dialog, and if you say yes,
// it will call "delete.php" on your server.
$("#breed_list").jqGrid(
'delGridRow',
toDelete,
{
url: 'delete.php',
reloadAfterSubmit:false
}
);
//alert(toDelete);
}
Этот код автоматически выбирает наведенную ячейку, когда delGridRow НЕ выполняется. Когда я нажимаю кнопку под столбцом действий, она вызывает функцию deleteRow (), которая выполняет delGridRow. Когда я нажимаю кнопку отмены, форма удаления закрывается. Теперь при наведении курсора на ячейку она НЕ автоматически выбирает текущую наведенную ячейку. Для отладки я поместил alert (valId) в функцию .mouseover, которая возвращает значение eData вместо значения атрибута id. alert (valId) предупреждает значение атрибута id до тех пор, пока функция deleteRow не выполняется. Почему для eData установлено значение valId, когда оно должно возвращать значение атрибута id? Как я могу исправить эту проблему?
EDIT
Видимо, я шел по этому нелегкому пути. Я вернулся к основной сетке и gridComplete.
Фрагмент jQgrid:
de = "<input style='height:22px;width:20px;' type='button' value='d' onclick=\"deleteRow('"+cl+"');\" />";
Код функции deleteRow:
function deleteRow(valId){
jQuery("#breed_list").setSelection(valId, false);
// You'll get a pop-up confirmation dialog, and if you say yes,
// it will call "delete.php" on your server.
$("#breed_list").jqGrid(
'delGridRow',
valId,
{
url: 'delete.php',
reloadAfterSubmit:false
}
);
//alert(toDelete);
}
Теперь работает как шарм, но я все же хотел бы включить функцию наведения мыши, как описано выше.