1

奥列格消息

http://www.trirand.com/blog/?page_id=393/feature-request/make-disabled-checkbox-of-the-checkbox-formatter-clickable/

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

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

c 未定义

在 jqGrid getCellIndex 方法中:

在此处输入图像描述

$(cell) 值是这个格式化程序 div 并且 c 变得未定义。

如何解决这个问题?

更新

同样的异常也发生在 chrome 中。也许 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;
},
4

0 回答 0