jqgrid getCell奇怪的行为

时间:2012-11-10 09:12:42

标签: javascript jquery jqgrid

我有一个jqgrid和一个getCell方法,它根据id返回一个单元格的值。它仅适用于网格的第一行,在其他行中则识别Img = false:

var ids = jQuery("#myGrid").getDataIDs(); 
        for(var i=0;i<ids.length;i++){
            var identifyImg = $('#myGrid').jqGrid('getCell', i, 'idState');
alert(identifyImg); // return false after first row
            if(identifyImg == '1'){
                 //DO SOMETHING 
              }
            }

该列定义如下:

{name:'idState',index:'idState', width:55}

并且正确填充了数字。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

你应该使用

 $('#myGrid').jqGrid('getCell', ids[i], 'idState');

而不是

 $('#myGrid').jqGrid('getCell', i, 'idState');

我还想提一下,在大多数情况下,不需要使用getDataIDs返回的循环。这是在旧版本的jqGrid loadCompletegridComplete内自定义jqGrid的好方法。现在有更好的(从性能的角度来看)替代方案。例如,如果您需要根据一列的内容更改一个单元格的某些样式或其他属性,可以使用cellattr(请参阅the answerthe answerthe answerthe answer或其他)。如果您需要根据一列的内容更改整行的某些属性,可以使用rowattr(请参阅the answer)。在其他情况下,如果您需要根据另一个单元格的内容更改单元格的内容(而不是属性),可以使用custom formatter

相关问题