datagrid删除所有行卡住_解决EasyUI DataGrid删除行失败的方法

笔者最近在做一个项目的后台,用到了EasyUI的datagrid控件,并开启了行内编辑功能,实际上也就是使用了edatagird这个空间,引用了edatagrid.js,一切似乎都做的顺风顺水,添加数据、修改数据都没有问题,然而到删除数据的时候居然没有反应,折腾了好几天也没有任何进展。截图如下:

前台代码如下:

rownumbers="true" fitColumns="true" toolbar="#toolbar" pagination="true" idField="user_id">

ID用户名密码

……

初始化数据表格如下:

$('#lsdg').edatagrid({

url:'getUsers',

saveUrl:'save',

updateUrl:'update',

destroyUrl:'destroy'

});

使用起来还是很方便的后台是用PHP做的,通过接收提交的数据主键来完成相关操作,比如保存的时候接收user_id作为查询数据表的条件,然后对相应数据进行修改

$userid=$_POST['user_id']

其他操作也是如此,但是当做到删除的时候这样接收数据删除操作却怎么也没有效果,折腾了半天,然后不得有看了一下edatagrid.js的源代码(一般看源代码有抵触心理),然后茅塞顿开,终于找到了原因,原来在edatagrid.js里删除函数POST的参数名称是固定的——‘id’,代码如下

function _del(row){

var index = dg.datagrid('getRowIndex', row);

if (index == -1){return}

if (row.isNewRecord){

dg.datagrid('cancelEdit', index);

} else {

if (opts.destroyUrl){

var idValue = row[opts.idField||'id'];

$.post(opts.destroyUrl, {id:idValue}, function(data){

……

后台接收的时候一定要接收id参数,而不是前面说的数据表的主键 user_id,将

$userid=$_POST['user_id']

改为

$userid=$_POST['id']

后,删除就顺利完成了,注意只操作只针对后台删除函数即destory(),而其他操作无须这么处理,接收表的主键就可以了。好了,困扰的问题终于解决了,如果你遇到了类似的问题,希望我的文章可以帮助你,另外,如果引用某个插件不顺利的话,看看它的源代码还是有必要的,特别对于哪些没有说明书的插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值