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

前台代码如下:

<table id="lsdg" title="设备数据采集列表"  singleSelect="true" 
        rownumbers="true" fitColumns="true" toolbar="#toolbar" pagination="true" idField="user_id">
    <thead> 
        <tr>
       
           <th field="user_id" width="50px" hidden>ID</th>
           <th field="username" width="50px" editor="{type:'validatebox',options:{required:true}}">用户名</th>
           <th field="password" width="50px" editor="{type:'validatebox',options:{required:true}}">密码</th>

……

<table>

初始化数据表格如下:

<script type="text/javascript">
 $('#lsdg').edatagrid({ 
     url:'getUsers',
     saveUrl:'save',
     updateUrl:'update',
     destroyUrl:'destroy'
     });
</script>

使用起来还是很方便的后台是用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(),而其他操作无须这么处理,接收表的主键就可以了。好了,困扰的问题终于解决了,如果你遇到了类似的问题,希望我的文章可以帮助你,另外,如果引用某个插件不顺利的话,看看它的源代码还是有必要的,特别对于哪些没有说明书的插件

from:顶求网

解决EasyUI DataGrid删除行失败的方法的更多相关文章

  1. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中

    背景:   昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...

  2. easyui datagrid中 多表头方法总结

    easyui datagrid中怎么设置表头成多行显示呢?其实很简单,就是给datagrid的columns属性设置成多个数组就行了.下面直接看例子吧,这是一个两行表头的,按照此方法,还可以设置三行表 ...

  3. 解决easyui datagrid load时缓存问题

    修改easyui datagrid内容保存后,使用$("#dg").datagrid("reload");或者$("#dg").datagr ...

  4. easyui datagrid 取消删除的方法

    下面为取消方法 ... { field: 'Guid', title: '操作', width: 80, align: 'center', formatter: function (value, ro ...

  5. 解决anaconda安装cvxpy失败的方法

    在Windows下安装凸优化包CVXPY 直接在anaconda prompt中输入pip install cvxpy经常会出现安装失败的情况,使用以下方法,亲测成功! 1. 下载所需的whl文件,请 ...

  6. 解决Genymotion下载设备失败的方法(Connection Timeout)

    一直下载不下来,报错. 解决办法: 打开 C:\Users\用户名\AppData\Local\Genymobile目录 打开genymotion.log文件,在里面最下面几行,找到如下日志 [Deb ...

  7. easyui datagrid deleteRow(删除行)的BUG!

    转自:http://my.oschina.net/fants/blog/77189项目中又用到easyui 的datagrid做数据展示.功能很强大,很实用,但bug也很多.今天这个就够让人头疼. 如 ...

  8. easyui datagrid行合并

    easyui datagrid行合并 合并方法 /** * EasyUI DataGrid根据字段动态合并单元格 * 参数 tableID 要合并table的id * 参数 colList 要合并的列 ...

  9. easyui datagrid 没数据时显示滚动条的解决方法

    今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...

随机推荐

  1. Unity让带有Rigidbody组件的游戏对象停止运动

    Rigidbody rigidbody = transform.GetComponent<Rigidbody>(); rigidbody.velocity = Vector3.zero; ...

  2. Java基础知识(持续更新中...)

    1.成员变量:全局变量/字段(Field),不要称之为属性(错误)直接定义在类中,方法外面 1.类成员变量    使用static修饰的变量 2.实例成员变量 没用使用static修饰的变量 局部变量 ...

  3. getElementsByName和getElementById

    1: 今天分享工作中遇到的一个小细节 1.1 先介绍一下两个方法分别是: 1.2 getElementById()  :可返回对拥有指定 ID 的第一个对象的引用,如果您需要查找文档中的一个特定的元素 ...

  4. NEC 框架规范 css function

    /* function */.f-cb:after,.f-cbli li:after{display:block;clear:both;visibility:hidden;height:0;overf ...

  5. Java常用的正则校验

    1.非负整数: (^[1-9]+[0-9]*$)|(^[0]{1}$) 或 (^[1-9]+[0-9]*$)|0 2.非正整数: (^-[1-9]+[0-9]*$)|(^[0]{1}$) 或 (^-[ ...

  6. 关于Linux环境变量DISPLAY的设置

    问题描述:在个人PC(windows系统)安装了虚拟机,虚拟机中安装了Linux系统,Linux系统中安装了wireshark和firefox这两个程序,网上查阅可以通过设置DISPLAY环境变量指向 ...

  7. what is feeding and what is 读扩散 and 写扩散?

    what is feeding? 通俗点说feed系统就是当你登陆进对应网站后:微信朋友圈的动态.人人网上看到的一件件新鲜事.新浪微博上推到你面前的一条条新围脖等等.系统中的每一条消息就是一个feed ...

  8. pyqt 多窗口跳转

    今天在做pyqt5的多页面跳转时遇到问题,一点击button按钮,程序会崩溃.在网上查了下,应该是当窗口A调用窗口B的时候,两个窗口不能是同一类型.我写的时候把A.B同时写成了QWidget.把窗口B ...

  9. emlog博客插件分享openSug

    emlog博客插件百度搜索下拉提示框openSug.js发布上线啦: 下载:https://www.opensug.org/faq/.../opensug.emlog_v1.0.0.zip[~4KB]

  10. Flask初见

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSIG工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权. Flask也被称为 “m ...