使用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 相关文章推荐
ext读取两种结构的xml的代码
Nov 05 Javascript
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
MultiSelect左右选择控件的设计与实现介绍
Jun 08 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
Aug 02 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
利用CSS3在Angular中实现动画
Jan 15 Javascript
js实现数组冒泡排序、快速排序原理
Mar 08 Javascript
详解JavaScript for循环中发送AJAX请求问题
Jun 23 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
vue+layui实现select动态加载后台数据的例子
Sep 20 Javascript
js的Object.assign用法示例分析
Mar 05 Javascript
Vue数组响应式操作及高阶函数使用代码详解
Aug 01 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
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP类的封装与继承详解
2015/09/29 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
JS实现弹性菜单效果代码
2015/09/07 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
Python中return语句用法实例分析
2015/08/04 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
使用python生成目录树
2018/03/29 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
高三体育教学反思
2014/01/29 职场文书
研究生毕业鉴定
2014/01/29 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
个人借款担保书
2014/04/02 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
商场收银员岗位职责
2015/04/07 职场文书
公司奖励通知
2015/04/21 职场文书
Python道路车道线检测的实现
2021/06/27 Python