使用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 相关文章推荐
Some tips of wmi scripting in jscript (1)
Apr 03 Javascript
javawscript 三级菜单的实现原理
Jul 01 Javascript
有关于eclipse配置spket需要注意的一些地方
Apr 07 Javascript
javascript html5实现表单验证
Mar 01 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
Aug 06 Javascript
JavaScript获取URL中参数querystring的方法详解
Oct 11 Javascript
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
webpack构建的详细流程探底
Jan 08 Javascript
layer.open 获取不到表单信息的解决方法
Sep 26 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 Javascript
js实现倒计时秒杀效果
Mar 25 Javascript
uniapp开发小程序的经验总结
Apr 08 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之数组(遍历顺序)  Laruence原创
2012/06/13 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
python查找指定具有相同内容文件的方法
2015/06/28 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
numpy库reshape用法详解
2020/04/19 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
怎样创建、运行java程序
2014/08/01 面试题
酒店服务实习自我鉴定
2013/09/22 职场文书
给朋友的道歉信
2014/01/09 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
中班幼儿评语大全
2014/04/30 职场文书
自愿离婚协议书2015
2015/01/26 职场文书