//新增数据
function add() {

if (Index == undefined) {
  row = { move_date: '', start_time: '', end_time: '', start_place: '', arrival_place: '', move_vehicle: '' };  
  $('#dg').datagrid('appendRow', row);
  Index = $('#dg').datagrid('getRows').length - 1;
  $('#dg').datagrid('selectRow', Index).datagrid('beginEdit', Index);
}//新建行结束

//回车时结束编辑,并开启新一行放在datagrid的onBeginEdit事件里

onBeginEdit: function (Index, row) {

  var stayPlace = $("#dg_StaySchedule").datagrid('getEditor', { index: Index, field: 'stay_place' });
  var stayAmount = $("#dg_StaySchedule").datagrid('getEditor', { index: Index, field: 'stay_amount' });
  $(stayPlace.target).textbox('options').onChange = function (newValue, lodValue) {
  //开启等待
  MaskUtil.mask();
  $.ajax({//根据条件值获取数据
    type: "POST",
    url: "url?stay_place=" + newValue + "&emp_title=" + $('#emp_title').textbox('getValue'),
    dataType: 'json',
    success: function (msg) {
      //关闭等待
      MaskUtil.unmask();
      stayData = 0;
      stayData = JSON.parse(msg.stay);
      $(stayAmount.target).textbox('setValue', stayData);//查询的数据给列赋值
      }
    })
  }
  //回车时结束编辑,并开启新一行
  $('.datagrid-editable .textbox,.datagrid-editable .datagrid-editable-input,.datagrid-editable .textbox-text').bind('keypress', function (e) {
    var code = e.keyCode || e.which;
    f (code == 13) {
      //保存更改 第一次编辑可能不会改变值
      var b = $('#dg').datagrid('validateRow', Index);
      if (b == false) {
        $('#dg').datagrid('selectRow', Index).datagrid('beginEdit', Index);
        return;
        }
    $('#dg').datagrid('acceptChanges');
    $('#dg').datagrid('endEdit', Index);

    if (stayData > 0 && row.stay_amount > stayData) {
      $.messager.confirm('操作提示', "提交的住宿费已超标准费用,标准住宿费用是:" + stayData + "元,是否继续?", function (r) {
        if (r) {
          $('#dg').datagrid('unselectRow', Index);
          Index= undefined;          
          add();//新增方法
          }
      else {
        $('#dg').datagrid('beginEdit', Index);
        }
      })
    } else {

      Index= undefined;      
      add();//新增方法
      }
    }
  });
}

使用EasyUI的Datagrid的Editor进行行编辑,Enter回车结束编辑,并开启新的一行。的更多相关文章

  1. Easyui的datagrid的editor(行编辑器)如何扩展datetimebox类型

    在easyui的datagrid扩展方法中添加这样的时间日期(datetimebox)代码块 放在   $.extend($.fn.datagrid.defaults.editors,{datetim ...

  2. Easyui 设置datagrid 进入编辑状态,保存结束编辑

    在datagrid中如何实现让一行进入编辑状态,修改数据后,保存信息呢? //点击列表变成文本框,进入可编辑状态 $(function () { var doc = $(document), tabl ...

  3. 学习日记6、easyui datagrid 新增一行,编辑行,结束编辑和删除行操作记录

    1.新增一行并进入编辑状态 var index=$('#Numbers').datagrid('appendRow', { CardInformation: '开户行', CardNumber: '银 ...

  4. [转]jQuery EasyUI自定义DataGrid的Editor

    原文地址:http://www.jeasyuicn.com/post-3.html 官网datagrid的api:http://jquery-easyui.wikidot.com/document:d ...

  5. easyui datagrid的editor编辑器如何为validatebox控件添加改变事件

    项目中需要为行编辑器Editor的某个列的文本框添加改变事件 需求:新增行时,为用户名输入特殊字符进行验证,不允许保存用户数据 html页面 <table id="gridlist&q ...

  6. easyUI的datagrid控件日期列不能正确显示Json格式数据的解决方案

    EasyUI是一套比较轻巧易用的Jquery控件,在使用过程中遇到一个问题,它的列表控件——datagrid, 在显示日期列的时候,由于后台返回给页面的数据是Json格式的,其中的日期字段,在后台是正 ...

  7. easyUI中datagrid的使用

    easyUI中的datagrid数据表格经常被用到,结合项目中的使用情况,总结一下datagrid使用中需要注意的一些问题.使用datagrid展示数据,需要在html.css.js中都要编写代码,h ...

  8. easyui,datagrid表格,行内可编辑

    最近用到easyui,需要表格内编辑,但是我同一个页面有多个表格,把官方的代码修改了一下,如下: HTML代码 <table id="dg" class="easy ...

  9. EasyUI效果--DataGrid的编辑效果

    DataGrid的编辑效果是我目前使用的easyUI的第三个效果,相对于前两个,这个算是比较复杂点了.    运行起来的效果,大概就是这样,任意点击某行,然后该行变为可以编辑的,失去焦点之后,该行恢复 ...

随机推荐

  1. linux centos 磁盘清理

    执行df -h 与 du -sh / 所查询到的已用容量不对应 执行xfs_fsr来清理磁盘 参考 https://www.jianshu.com/p/0ded68808123

  2. form的submit()方法不能触发onsubmit事件的解决方法,兼容各版本浏览器。

    在处理表单提交的时候遇到一个问题,通常用<input type="submit" value="提交" />按钮来提交form,再监听form的on ...

  3. 使用phxpaxos开发过程中遇到的坑

    1. 开启BatchPropose后,状态机使用ExecuteForCheckpoint生成快照要注意: ExecuteForCheckpoint中的InstanceID不能立即持久化. 例如: 当i ...

  4. react axios 配置

    1:package.json 添加        "proxy": "代理地址" 2  封装axios     创建server.js  添加 import a ...

  5. Java内存的 静态方法和实例方法的区别及使用场景

    注意:变量指基本数据类型非对象,局部变量不能被静态修饰 1.(静态)成员变量存放在data segment区(数据区),字符串常量也存放在该区 2.非静态变量,new出来的对象存放在堆内存,所有局部变 ...

  6. 如何用frp进行来无影去无踪

    准备工作 和 注意事项: 1.frp 下载地址  https://github.com/fatedier/frp/releases 2. 需要给有公网ip 的服务端服务器 和 本地客户端服务器 各放一 ...

  7. workerman与thinkphp结合

    运行workerman需要安装pcntl和event或者libevent pcntl安装方法: 以php-5.5.20为例,实际情况按自己安装的PHP目录 一. 找到PHP源码,进入 php-5.5. ...

  8. pandas用法之二

    1,函数应用 ①map() 将函数作用于一个Series的每一个函数(不能是DataFrame) 类似于Python的高阶函数map() 函数可以是Numpy中的通用函数,也可以是自定义函数 优点:代 ...

  9. docker image 详解

    docker iamge docker 镜像: [root@localhost ~]# docker image --help Usage: docker image COMMAND 管理镜像 Com ...

  10. ieee文献免费下载办法

    sci-hub是个神奇的存在,但突然有短时间不能用了,搜索很久,找到了:https://www.zhihu.com/question/68333471/answer/276287163 这个网址会实时 ...