如果在datagrid中直接将index传给easyui自带的deletRow方法来删除当前点击行,一开始并没有问题,但是当连续删除的时候就或出问题了。
原因是datagrid行是根据datagrid-row-index和datagrid-row-r1-x-x来定位行的,如果一开始就将该行的index作为参数传给deleteRow方法,每行的index是固定了的,其他行的index并不会随着删除某一行而改变掉。所以在连续删除中,可能会出现,当删除了一行以后,点击了第二行的删除按钮,删除的确实第三行这种情况。
- 页面
return '<a class="layui-btn layui-btn-danger layui-btn-xs" href="javascript:void(0);" onclick="delRatioRow(this)">删除</a>'
- js
function delRatioRow(target){ var tr = $(target).closest('tr.datagrid-row'); var index = parseInt(tr.attr('datagrid-row-index')); grid2.datagrid('deleteRow',index); }