博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
阅读量:6591 次
发布时间:2019-06-24

本文共 4181 字,大约阅读时间需要 13 分钟。

先来看看下面实时效果演示:

 

用户点击编辑时,在点击行下动态产生一行。编辑铵钮变为disabled。

新产生的一行有更新和取消的铵钮,点击“取消”铵钮,删除刚刚动态产生的行。编辑铵钮状态恢复。
更新与删除铵钮功能没有什么特别的。

 在ASP.NET MVC视图html代码如下,普通的表格table,普通的html标签:

删除的铵钮功能:

  

$('.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;        });
Source Code

 

编辑的铵钮功能,需要动态产生一新行。处理每个字段的html的标签:

 

$('.Edit').click(function (e) {            var tr = $(this).closest('tr')            var row = $('');            row.append($(''));            row.append($(''));            $selectCity = $('').attr({ name: 'city', class: 'selectcity' });            $("", { value: "", text: "" }).appendTo($selectCity);            $.getJSON("/Highway/GetCities", function (data) {                $.each(data, function (i, item) {                    if (item.City_nbr == tr.find('.city_key').val()) {                        $("", { value: item.City_nbr, text: item.City_Name,selected :"selected" }).appendTo($selectCity);                    }                    else {                        $("", { value: item.City_nbr, text: item.City_Name}).appendTo($selectCity);                    }                })            });            row.append($('').append($selectCity));            row.append($(''));            row.append($(''));            row.append($(''));            $cb = $('').attr({ type: 'checkbox', class: 'ckbIsActived', checked: tr.find('.ckbIsActived').is(':checked') == true ? 'true' : '' });            row.append($('').append($cb));            var $btnUpdate = $('').attr({ type: 'button', class: 'Update', value: '更新' });            row.append($('').append($btnUpdate));            var $btnCancel = $('').attr({ type: 'button', class: 'Cancel', value: '取消' });            row.append($('').append($btnCancel));            tr.after(row);            $(this).attr("disabled", "disabled");        });
Source Code

 

更新铵钮功能:

 

$('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);                }            });        });
Source Code

 

还一个取消铵钮功能:

 

$('table.city-list').delegate('.Cancel', 'click', function (event) {            var tr = $(this).closest("tr");            tr.prev().find('.Edit').removeAttr('disabled');            tr.remove();        });
Source Code

 

 

转载地址:http://bakio.baihongyu.com/

你可能感兴趣的文章
Java编译那些事儿【转】
查看>>
各种排序算法的总结
查看>>
[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】...
查看>>
SpringBoot相关
查看>>
[LeetCode] Sudoku Solver 求解数独
查看>>
html5/haXe开发偶感
查看>>
js深入研究之神奇的匿名函数类生成方式
查看>>
The life cycle of a typical project 一个典型的项目生命周期
查看>>
推荐F#最近的一些资源
查看>>
Linux文件操作
查看>>
ylbtech-Recode(记录)-数据库设计
查看>>
运动目标跟踪与检测的源代码(CAMSHIFT 算法)
查看>>
PHP工厂模式的简单实现
查看>>
线程同步中异常情况的处理
查看>>
Orchard模块开发全接触3:分类的实现及内容呈现(Display)
查看>>
JQuery 自动触发事件
查看>>
ylbtech-LanguageSamples-CommandLine(命令行参数)
查看>>
Uptime And Monitoring Strategies For Cloud-Based E-Commerce Applications/Websites
查看>>
FPGA未来几年的发展趋势及发展机遇
查看>>
【spring bean】 spring中bean之间的引用以及内部bean
查看>>