使用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 相关文章推荐
Stop SQL Server
Jun 21 Javascript
Jquery中扩展方法extend使用技巧
Aug 24 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
Mar 18 Javascript
JS实现超简单的仿QQ折叠菜单效果
Sep 21 Javascript
jquery css实现邮箱自动补全
Nov 14 Javascript
JS中Safari浏览器中的Date
Jul 17 Javascript
JavaScript实现修改伪类样式
Nov 27 Javascript
React精髓!一篇全概括小结(急速)
May 23 Javascript
vue 开发企业微信整合案例分析
Dec 02 Javascript
Jquery Fade用法详解
Nov 06 jQuery
四十九个javascript小知识实用技巧
Nov 20 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
图解上海144收音机
2021/03/02 无线电
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
不同浏览器的怪癖小结
2010/07/11 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
vue-router的两种模式的区别
2019/05/30 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
Python中装饰器学习总结
2018/02/10 Python
Python之修改图片像素值的方法
2019/07/03 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
基于Python实现扑克牌面试题
2019/12/11 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
python 装饰器的基本使用
2021/01/13 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
酒吧员工的岗位职责
2013/11/26 职场文书
学习型班组申报材料
2014/05/31 职场文书
公务员个人年终总结
2015/02/12 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
python munch库的使用解析
2021/05/25 Python
vue 给数组添加新对象并赋值
2022/04/20 Vue.js