使用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 相关文章推荐
浅析javascript闭包 实例分析
Dec 25 Javascript
js注意img图片的onerror事件的分析
Jan 01 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
Apr 29 Javascript
深入理解JavaScript中的浮点数
May 18 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 Javascript
js从外部获取图片的实现方法
Aug 05 Javascript
Three.js快速入门教程
Sep 09 Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
Apr 18 Javascript
vue实现可视化可拖放的自定义表单的示例代码
Mar 20 Javascript
微信小程序缓存支持二次开发封装实现解析
Dec 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP EOT定界符的使用详解
2008/09/30 PHP
Mac OS下配置PHP+MySql环境
2015/02/25 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
jquery uaMatch源代码
2011/02/14 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
Python open()文件处理使用介绍
2014/11/30 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
Python文件操作基础流程解析
2020/03/19 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
表决心的诗句大全
2014/03/11 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
工资证明格式模板
2015/06/12 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python
JS封装cavans多种滤镜组件
2022/02/15 Javascript