getchecked提交后被选中内容还在,调用clearSelections方法重置

EasyUI

今天在使用 getChecked方法的时候发现个小问题:

当我在选中了一行或多行删除后,再次选择其他要删除的数据时,调试发现,getChecked方法返回的记录中还包括之前删除中的最后一条记录。包括 getSelections 和getSelected这两个方法也是一样。

它们在 JQuery EasyUI 1.4.3版的中文API中是这样定义的:

getChecked:在复选框被选中的时候返回所有行。

getSelected:返回第一个被选中的行或如果没有选中的行这返回null。

getSelections:返回所有被选中的行,当没有记录被选中的时候将返回一个空数组。

看了定义是没有问题的,可是试了好多遍都还是不行,调用reload方法重新加载不行,清浏览器缓存也没用,后来只能在执行完删除操作后,调用clearSelections方法清空选择才行(把datagrid的属性singleSelect(是否为单选)值设置成true也可以解决这个问题,不过这样就变成单选了)。

另外,还发现有些朋友在使用getSelections这个方法时,不管选择几行内容总是只返回一行数据。

网友们给出的原因是:如果在datagrid中设置了idField属性时,在返回数据的时候要有id字段,并且id要唯一;如果不设置idField,则会正常获取选中的行数。

发表回复