zoukankan      html  css  js  c++  java
  • jQuery easyUI 1.3.2 删除编辑功能 行号混乱的bug

    最近使用jQuery easyUI 1.3.2 开发。在记录行设置一操作列,包含删除和编辑功能,操作后不reload重载(不发送新的数据库查询请求)。网上教程是在初始化数据的时候,将行号index传入,如下代码

    formatter:function(value,row,index){
    if (row.editing){
    var s = '<a href="javascript:void(0);" class="savebtn" onclick="saverow("+index+")">保存</a> ';
    var c = '<a href="javascript:void(0);" class="cancelbtn" onclick="cancelrow("+index+")">取消</a>';
    return s+c;
    } else {
    var e = '<a href="javascript:void(0);" class="editbtn" onclick="editrow("+index+")">编辑</a> ';
    var d = '<a href="javascript:void(0);" class="delbtn" onclick="deleterow("+index+")">删除</a>';
    return e + d;
    }
    }
    

      

    开始没有发现问题。能删除能编辑。后来发现,连续删除,或者删除后编辑,将出现很多奇怪的bug,比如删除错误数据,点击编辑,是另外的行触发了。究其原因,是这个行号index的问题。因为index是在初始化数据时定死的,但执行删除操作后,各行index是会变更的。而代码中的a标签调用的onclick方法里面的index已经固定,所以bug就来了。

    最新版的1.4.1不知道有没有针对这个bug或者效果上做了调整,反正网上的处理方法很多是教直接修改easyUI的源码。

    这里介绍一个简便一点的方法。

    首先,将onclick方法传入index改为传this。

    formatter:function(value,row,index){
    if (row.editing){
    var s = '<a href="javascript:void(0);" class="savebtn" onclick="saverow(this)">保存</a> ';
    var c = '<a href="javascript:void(0);" class="cancelbtn" onclick="cancelrow(this)">取消</a>';
    return s+c;
    } else {
    var e = '<a href="javascript:void(0);" class="editbtn" onclick="editrow(this)">编辑</a> ';
    var d = '<a href="javascript:void(0);" class="delbtn" onclick="deleterow(this)">删除</a>';
    return e + d;
    }
    }
    

      

    然后,再各个onclick方法里面,就不能直接获取index使用了,需要改为

    $(item).parents("tr").click();
    var row = $dg.datagrid('getSelected');
    var rowIndex = $dg.datagrid('getRowIndex', row);
    

      

    用js控制点击时间,然后整行选中,再获取行号,搞掂。

    效果图:

    行内编辑

  • 相关阅读:
    [程序员必备工具]分享一款不错的个人代码个人知识管理软件wiz
    移动开发,如何选择手机软件开发​平台?
    Best Wishes,my Married Friend!
    三年来最开心的一天!
    “世事无绝对”也是相对的……
    又到世界CUP……
    利物浦,总是在我情绪低落时给我鼓舞!
    一种感觉
    How to break to loop? It frustrates me!
    取舍有度,学会放弃……
  • 原文地址:https://www.cnblogs.com/xianxh/p/4139330.html
Copyright © 2011-2022 走看看