如果在jqGrid中使用Oleg clickableCheckboxFormatter进行单击编辑,如何修复javascriptexception

Oleg留言

Forum

包含jqGrid的可点击复选框格式化程序。

如果使用单击内联编辑(在inSelectRow事件处理程序中启动内联编辑),则单击使用此格式化程序的复选框列会导致javascriptexception:

c未定义

在jqGrid中getCellIndex方法:

在此处输入图像描述

$(单元格)值是此格式化程序div,c变为未定义。

如何解决这个问题?

更新

铬也会发生同样的exception。 也许div被创建为body元素的直接子元素。 在这种情况下,我修补jqGrid返回-1:

getCellIndex : function (cell) { var c = $(cell); if (c.is('tr')) { return -1; } c = (!c.is('td') && !c.is('th') ? c.closest("td,th") : c)[0]; // AM next line added if removed single click editing in checkbox column click causes error if (c== undefined ) { return -1; } if ($.browser.msie) { return $.inArray(c, c.parentNode.cells); } return c.cellIndex; },