datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据
easyui datagrid在编辑状态下,用鼠标勾选了数据行后,在调用acceptChanges接受数据更改,恢复到不可编辑状态时,此时调用getChecked无法获取到之前在编辑状态下勾选的数据,虽然此时数据行前面的复选框checkbox还是在勾选的状态。
经过研究源代码发现,应该是easyui datagrid的bug,datagrid getChecked获取勾选的数据行是通过判断tr是否有datagrid-row-checked这个样式来取数据的,源代码如下
if(type=="checked"){ return (_70e==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked"); }
可编辑的datagrid执行acceptChanges方法后,将勾选数据行的datagrid-row-checked给去掉了,所以导致无法获取被勾选的数据。
编辑状态下勾选数据,可以看到数据行tr是有datagrid-row-checked样式的。
点击DIRChecked按钮,firebug输出结果如下
firebug查看datagrid结构,datagrid-row-checked样式给去掉了。
解决办法就是调用getSelections方法来替代getChecked
加支付宝好友偷能量挖...
原创文章,转载请注明出处:datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据