使用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 相关文章推荐
求数组最大最小值方法适用于任何数组
Aug 16 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 Javascript
js判断手机端(Android手机还是iPhone手机)
Jul 22 Javascript
详解javascript遍历方式
Nov 11 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
Jul 27 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
通过npm引用的vue组件使用详解
Mar 02 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
Jan 18 Javascript
node.js如何自定义实现一个EventEmitter
Jul 16 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输入流php://input介绍
2012/09/18 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
教大家制作简单的php日历
2015/11/17 PHP
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
Html5自定义字体解决方法
2019/10/09 HTML / CSS
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
生物化工专业个人自荐信
2013/09/26 职场文书
师范应届生语文教师求职信
2013/10/29 职场文书
怎样写留学自荐信
2013/11/11 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
名人演讲稿范文
2014/09/16 职场文书
小学见习报告
2015/06/23 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
Python实现对齐打印 format函数的用法
2022/04/28 Python