使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能


Posted in Javascript onMarch 15, 2017

先来看看下面实时效果演示:

使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

用户点击编辑时,在点击行下动态产生一行。编辑铵钮变为disabled。

新产生的一行有更新和取消的铵钮,点击“取消”铵钮,删除刚刚动态产生的行。编辑铵钮状态恢复。

更新与删除铵钮功能没有什么特别的。

 在ASP.NET MVC视图html代码如下,普通的表格table,普通的html标签:

使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

删除的铵钮功能:

使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

$('.Delete').click(function () {
      var flag = confirm('你确认是否删除记录?');
      if (flag) {
        var tr = $(this).closest('tr');
        var obj = {};
        obj.Ltc_nbr = tr.find('.SelectSingle').val();
        $.ajax({
          type: 'POST',
          url: "/Highway/LandTransportationCityDelete",
          dataType: 'json',
          data: JSON.stringify(obj),
          contentType: 'application/json; charset=utf-8',
          success: function (data, textStatus) {
            if (data.Success) {
              window.location.href = data.RedirectUrl;
            }
            else {
              alert(data.ExceptionMessage);
              return;
            }
          },
          error: function (xhr, status, error) {
            alert("An error occurred: " + status + "nError: " + error);
          }
        });
      }
      return false;
    });

编辑的铵钮功能,需要动态产生一新行。处理每个字段的html的标签:

使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

$('.Edit').click(function (e) {
      var tr = $(this).closest('tr')
      var row = $('<tr>');
      row.append($('<td><input class="city_key" type="hidden" value="' + tr.find('.SelectSingle').val() + '" /></td>'));
      row.append($('<td></td>'));
      $selectCity = $('<select />').attr({ name: 'city', class: 'selectcity' });
      $("<option></option>", { value: "", text: "" }).appendTo($selectCity);
      $.getJSON("/Highway/GetCities", function (data) {
        $.each(data, function (i, item) {
          if (item.City_nbr == tr.find('.city_key').val()) {
            $("<option></option>", { value: item.City_nbr, text: item.City_Name,selected :"selected" }).appendTo($selectCity);
          }
          else {
            $("<option></option>", { value: item.City_nbr, text: item.City_Name}).appendTo($selectCity);
          }
        })
      });
      row.append($('<td></td>').append($selectCity));
      row.append($('<td></td>'));
      row.append($('<td></td>'));
      row.append($('<td></td>'));
      $cb = $('<input/>').attr({ type: 'checkbox', class: 'ckbIsActived', checked: tr.find('.ckbIsActived').is(':checked') == true ? 'true' : '' });
      row.append($('<td></td>').append($cb));
      var $btnUpdate = $('<input/>').attr({ type: 'button', class: 'Update', value: '更新' });
      row.append($('<td style="width:40px;"></td>').append($btnUpdate));
      var $btnCancel = $('<input/>').attr({ type: 'button', class: 'Cancel', value: '取消' });
      row.append($('<td style="width:40px;"></td>').append($btnCancel));
      tr.after(row);
      $(this).attr("disabled", "disabled");
    });

更新铵钮功能:

使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

$('table.city-list').delegate('.Update', 'click', function (event) {
      var tr = $(this).closest("tr");
      var obj = {};
      obj.Ltc_nbr = tr.find('.city_key').val();
      obj.City_nbr = tr.find('.selectcity').val();
      obj.IsActived = tr.find('.ckbIsActived').is(':checked');
      $.ajax({
        type: 'POST',
        url: "/Highway/LandTransportationCityUpdate",
        dataType: 'json',
        data: JSON.stringify(obj),
        contentType: 'application/json; charset=utf-8',
        success: function (data, textStatus) {
          if (data.Success) {
            alert("陆运城市更新成功。");
            window.location.href = data.RedirectUrl;
          }
          else {
            alert(data.ExceptionMessage);
            return;
          }
        },
        error: function (xhr, status, error) {
          alert("An error occurred: " + status + "nError: " + error);
        }
      });
    });

还一个取消铵钮功能:

使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

$('table.city-list').delegate('.Cancel', 'click', function (event) {
      var tr = $(this).closest("tr");
      tr.prev().find('.Edit').removeAttr('disabled');
      tr.remove();
    });

以上所述是小编给大家介绍的使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
一段好玩的JavaScript代码
Dec 01 Javascript
js 新浪的一个图片播放图片轮换效果代码
Jul 15 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
jQuery实现的Div窗口震动特效
Jun 09 Javascript
讲解JavaScript中for...in语句的使用方法
Jun 03 Javascript
jQuery的ajax和遍历数组json实例代码
Aug 01 Javascript
vue中添加mp3音频文件的方法
Mar 02 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
Mar 08 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
Mar 29 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 Javascript
解决angular2 获取到的数据无法实时更新的问题
Aug 31 Javascript
webpack介绍使用配置教程详解webpack介绍和使用
Jun 25 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
Mar 15 #Javascript
jQuery实现移动端Tab选项卡效果
Mar 15 #Javascript
利用vue.js插入dom节点的方法
Mar 15 #Javascript
js实现彩色条纹滚动条效果
Mar 15 #Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
Mar 15 #Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 #Javascript
字太多用...代替的方法(两种)
Mar 15 #Javascript
You might like
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
jquery ajaxfileupload异步上传插件
2017/11/21 jQuery
详解ES7 Decorator 入门解析
2019/02/18 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
Python3.x和Python2.x的区别介绍
2013/02/12 Python
Python使用MD5加密字符串示例
2014/08/22 Python
Python内置函数之filter map reduce介绍
2014/11/30 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
对pandas中apply函数的用法详解
2018/04/10 Python
Python 变量类型详解
2018/10/10 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
Python自动创建Excel并获取内容
2020/09/16 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
法警的竞聘演讲稿
2014/01/02 职场文书
运动会入场解说词
2014/02/07 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
安全先进班组材料
2014/12/26 职场文书
瘦西湖导游词
2015/02/03 职场文书
狂人日记读书笔记
2015/06/30 职场文书
考研经验交流会策划书
2015/11/02 职场文书