记一次jqgrid复选框问题

背景:公司项目的管理后台列表显示用的框架为jqgird。最近项目整体重构,我在系统迁移过程中将后台底层由jpa换为mybatis,但页面基本没有变化。测试过程中,也没有测到批量操作。上线后,使用的同事发现在批量操作的时候,全选按钮不好使。

问题排查:

1、去原项目后台操作全选操作---好使;

2、原页面与新页面有何不同--无;

3、将原页面复制至新项目--确实不好使;

4、jq和jqgird版本是否相同--一致;

到此,我已毫无头绪。没办法,将js反编译,一步一步跟源码吧。果然在跟到生成复选框ID的时候 最后的序列化为空,导致所有的复选框的id是一个值。再继续跟这个序列值是怎么来的。发现该值是从页面rows里,每一列数据的id,现在是空值。

再跟代码,果然在返回给页面的数据中的id是空值。

 

原来,之前在用jpa时,是用Map传输数据的,再换到mybatis时换成用实体传输的数据,实体中有ID这个属性,但是SQL没有查询。

解决:SQL查出id,或者在实体中干掉id。

 

由于问题已解决故没有截图,仅做描述。

你可能感兴趣的:(jquery)