使用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 相关文章推荐
用js计算页面执行时间的函数
Dec 07 Javascript
jquery checkbox全选、取消全选实现代码
Mar 05 Javascript
jquery通过a标签删除table中的一行的代码
Dec 02 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
javascript获取元素偏移量的方法有哪些
Jun 24 Javascript
js封装可使用的构造函数继承用法分析
Jan 28 Javascript
Js数组排序函数sort()介绍
Jun 08 Javascript
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
Jul 23 Javascript
jQuery实现滑动星星评分效果(每日分享)
Nov 13 jQuery
vue prop属性传值与传引用示例
Nov 13 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
Jul 14 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面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
[原创]图片分页查看
2006/08/28 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
微信小程序 标签传入数据
2017/05/08 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
python实现给数组按片赋值的方法
2015/07/28 Python
Python中extend和append的区别讲解
2019/01/24 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Python和Sublime整合过程图示
2019/12/25 Python
Python数据存储之 h5py详解
2019/12/26 Python
管理学专业个人求职信范文
2013/09/21 职场文书
财务管理专业应届毕业生求职信
2013/09/22 职场文书
数控加工专业毕业生自荐信
2013/09/27 职场文书
应届生新闻编辑求职信
2013/11/19 职场文书
单位未婚证明范本
2014/01/18 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
安全保证书范文
2014/04/29 职场文书
产品设计开发计划书
2014/05/07 职场文书
法人身份证明书
2014/10/08 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript