• JQgrid实现全表单元格编辑


     1 jQuery("#baseWageDataValueGrid").jqGrid('setGridParam',{'cellEdit':true});
     2                         
     3                              //修改所有td tabindex
     4                              var tdList = $('#baseWageDataValueGrid').find('td');
     5                              if(!!tdList && tdList.length>0){
     6                                  $.each(tdList,function(i,o) {
     7                                      $(o).attr('tabindex','1');
     8                                  });
     9                              }
    10                              //依次发起单元格编辑,并保存
    11                              var list = jQuery("#baseWageDataValueGrid").getDataIDs();
    12                              var putList = [];
    13                              if(!!list && list.length>0) {
    14                                  for(var i=list.length;;i-- ) {
    15                                      var td = $('#baseWageDataValueGrid').find("td[tabindex='0']");
    16                                      if(td.length>0) {
    17                                          var put = {};
    18                                          put.td = td;
    19                                          put.input = td.get(0).children[0];
    20                                          putList.push(put);
    21                                      } 
    22                                      if(i>0) {
    23                                          jQuery("#baseWageDataValueGrid").jqGrid('editCell',i,7, true);
    24                                      } else {
    25                                          break;
    26                                      }
    27                                  }
    28                              }
    29                              //还原加载后被删除 元素,提交元素事件
    30                              if(putList.length>0) {
    31                                  $.each(putList,function(i,put) {
    32                                      $(put.td).empty();
    33                                      $(put.td.get(0).parentNode).addClass('edited');
    34                                      $(put.td.get(0).parentNode).addClass('selected-row');
    35                                      $(put.td.get(0).parentNode).addClass('active');
    36                                      $(put.td).attr('tabindex','0');
    37                                      $(put.td).addClass('edit-cell');
    38                                      $(put.td).addClass('success');
    39                                      $(put.td).append(put.input);
    40 //    给单元格注册自定义事件
    41                                      $(put.input).on('change',function(o,n) {
    42                                          var _this = this;
    43                                          var m = this.value;
    44                                          var rowid= this.attributes['rowid'].value;
    45                                          $.ajax({
    46                                              url: __ctx+'/platform/performance/baseWageDataValue/updateSave.htm',
    47                                              data:{id:rowid,value:m,itemId:$('#itemId').val()},
    48                                              success:function (data) {
    49                                                  // 根据返回的数据版本ID判断是否重新加载数据
    50                                                  baseWageDataValue.saveResponse(data);
    51 //                                                //使还原的 元素与事件只能使用一次
    52 //                                                $(_this.parentNode).removeClass('success');
    53 //                                                $(_this.parentNode).removeClass('edit-cell');
    54 //                                                $(_this.parentNode.parentNode).removeClass('edited');
    55 //                                                $(_this.parentNode.parentNode).removeClass('selected-row');
    56 //                                                $(_this.parentNode.parentNode).removeClass('active');
    57 //                                                $(_this.parentNode).empty();
    58 //                                                //修改显示值
    59 //                                                jQuery("#baseWageDataValueGrid").jqGrid('setCell',rowid,7,m,false,false, true); 
    60                                              },
    61                                              error:function () {
    62                                                  layer.msg("网络错误!");
    63                                              }
    64                                          })
    65                                      });
    66                                  });
    67                              }
    68                              //屏蔽原有编辑事件
    69                          jQuery("#baseWageDataValueGrid").jqGrid('setGridParam',{'cellEdit':false});

    将JS代码加入JQgrid 的gridComplete(加载完成后事件)中后,实现效果如下:

     

  • 相关阅读:
    观察是快速成长的一个牛逼技能
    linux下使用lftp的小结(转)
    关于升级cocos2d-x网络库来支持ipv6、https,以及socket怎么支持ipv6
    cocos2dx支持arm64
    android studio 命令行编译cocos 3.15.1 安卓工程
    认识Android.mk和Application.mk
    mac os x下Android Studio3.0 配置本地 Gradle
    图片转成base64编码
    集成pbc
    6、SpringMVC:结果跳转方式 和 数据提交时的处理
  • 原文地址:https://www.cnblogs.com/tangzeqi/p/12122918.html
Copyright © 2020-2023  润新知