easyui datagrid没有ID情况下,easyui datagrid 删除行信息方法

在datagrid中直接将index传给easyui自带的deletRow方法来删除当前点击行,一开始并没有问题,但是当连续删除的时候就或出问题了。

原因是datagrid行是根据datagrid-row-index和datagrid-row-r1-x-x来定位行的,如果一开始就将该行的index作为参数传给deleteRow方法,每行的index是固定了的,其他行的index并不会随着删除某一行而改变掉。所以在连续删除中,可能会出现,当删除了一行以后,点击了第二行的删除按钮,删除的确实第三行这种情况。

最近我也是找了一些解决办法,但都稍有复杂,唯有这个解决办法最近单,和大家一起分享:

html:

<table id="dg" class="easyui-datagrid" title=""></table>

JS:

 1 $(function() {
 2                 $('#dg').datagrid().datagrid('enableCellEditing');//首行复选框
 3 
 4                 $('#dg').datagrid({
 5                     rownumbers: true,
 6                     multipleSelect:true,
 7                     collapsible: false,
 8                     pagination: true,
 9                     url: 'datagrid/dg.json',
10                     method: 'get',
11                     columns: [
12                         [{
13                             field: 'ck',
14                             checkbox: true
15                         }, {
16                             field: 'name',
17                             title: '姓名'
18                         }, {
19                             field: 'tel',
20                             title: '手机号码'
21                         }, {
22                             field: 'operate',
23                             title: '操作',
24                             formatter: function(val, row, index) {return '<button href="#" onclick="deleteRow(this)"></button>';
25                             }
26                         }]
27                     ]
28                 })
29             });
30 
31 
32 
33 function getRowIndex(target) {
34           var tr = $(target).closest('tr.datagrid-row');
35 36           return parseInt(tr.attr('datagrid-row-index')); 37 } 38 39 function deleteRow(target) { 40           alert(getRowIndex(target)); 41   $('#membershipCardData1').datagrid('deleteRow', getRowIndex(target)); 42 }

转载地址:https://www.cnblogs.com/MinhongShen/p/7551717.html

猜你喜欢

转载自www.cnblogs.com/Dumb-dog/p/11539830.html