使用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 相关文章推荐
JQuery 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
Jul 26 Javascript
浅析jquery的作用与优势
Dec 02 Javascript
javascript自动给文本url地址增加链接的方法分享
Jan 20 Javascript
jQuery文字横向滚动效果的实现代码
May 31 Javascript
浅析JS获取url中的参数实例代码
Jun 14 Javascript
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
详解在React里使用&quot;Vuex&quot;
Apr 02 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
JS实现深度优先搜索求解两点间最短路径
Jan 17 Javascript
C#程序员入门学习微信小程序的笔记
Mar 05 Javascript
pageGroup.js实现分页功能
Jul 27 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乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
php 定义404页面的实现代码
2012/11/19 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
python3实现mysql导出excel的方法
2019/07/31 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
Django继承自带user表并重写的例子
2019/11/18 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
ASP.NET Core中的配置详解
2021/02/05 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
亿企通软件测试面试题
2012/04/10 面试题
专升本自我鉴定
2013/10/10 职场文书
车辆安全检查制度
2014/01/12 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
迎国庆横幅标语
2014/10/08 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
华山导游词
2015/02/03 职场文书
超市员工管理制度
2015/08/06 职场文书