Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在jqGrid中使用Oleg clickableCheckboxFormatter进行单击编辑,如何修复javascript异常_Javascript_Jquery_Jquery Ui_Jqgrid - Fatal编程技术网

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

如果在jqGrid中使用Oleg clickableCheckboxFormatter进行单击编辑,如何修复javascript异常,javascript,jquery,jquery-ui,jqgrid,Javascript,Jquery,Jquery Ui,Jqgrid,中的Oleg消息 包含jqGrid的可单击复选框格式化程序 如果使用了单击内联编辑(内联编辑在beforeSelectRow事件处理程序中启动),则单击使用此格式化程序的复选框列会导致javascript异常: c是未定义的 在jqGrid getCellIndex方法中: $(单元格)值是此格式化程序div,并且c变得未定义 如何解决这个问题 更新 同样的例外也发生在chrome中。 可能div是作为body元素的直接子元素创建的。在本例中,我将jqGrid修补为返回-1: getCell

中的Oleg消息

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

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

c是未定义的

在jqGrid getCellIndex方法中:

$(单元格)值是此格式化程序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;
},

我无法重现你描述的问题。我想这是
getCellIndex
或调用它的函数中的一个bug。无论如何,这个问题不是一般问题。当问题存在时,可能存在一些场景,但您应该准确描述测试用例:您使用的jqGrid、jQuery、web浏览器的哪个版本等@Oleg。非常感谢。我通过电子邮件向您发送了测试用例。@Oleg我试图在中创建fiddle,但效果良好。不知道是什么原因,这意味着错误不存在于您怀疑的零件中。没有测试用例,就无法定位问题。我不是在度假,所以在4号之前我帮不了你多少忙January@Oleg:可能div是body元素的直接子元素。作为快速修复,我向getCellIndex添加了
if(c==undefined){return-1;}
,并更新了问题。在这种情况下,使用clickableCheckBox格式化程序在checbox列中单击不会将焦点放在checkbox上,但其他方式会使其按预期工作。我发送给您的Testcase现在包含此修复