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

时间:2012-12-17 19:29:16

标签: javascript jquery jquery-ui jqgrid

中的Oleg消息

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

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

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

  

c未定义

在jqGrid中getCellIndex方法:

enter image description here

$(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;
},

0 个答案:

没有答案