博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
datatables.js 简单使用--弹出编辑框或添加数据框
阅读量:4678 次
发布时间:2019-06-09

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

内容:选中某一条记录,弹出编辑框

环境:asp.net mvc ,  bootstrap

显示效果:

    

  代码: 至于怎么弄多选框,在上一篇博客里已经有说明。

  主要用到了bootstrap的模态窗,下面代码是从网上找的,主要分3部分,标题header,内容body和底部footer

1 

我主要是对上面的代码进行了封装,把它放到了一个js里。

 

//btn-modify 这个是编辑按钮的class名$('.btn-modify').click(function () {    if ($(".checkchild:checked").length > 1)    {        alert("一次只能修改一条数据");        return;    }    var id = $(".checkchild:checked").val();    var initData = {        "appendId": "modalRef",//加到哪里去        "modalId": "myModal",        "title": "修改菜单",        "formId": "formEdit", //form的ID        "loadUrl": "/Menus/Edit", //如果不从页面加载,写成"null"         "loadParas": { "ID": id },     //向loadUrl传的数据        "postUrl": "/BasicManage/Edit", //提交add的url        "close": reloadDt, //关闭弹出窗后调用的方法        "cols": ""   //[ {"displayName":"菜单名","fieldName":"Name"}]       };    whr.setModal(initData);});

    大体说明:我用js拼接了bootstrap的模态框,然后对它的body部分进行填充。

                  对body部分填充分2种方式: 1. 加载另一个页面(编辑时用这个比较好),2. 拼接一个form表单(主要是添加用)

     主要传的参数是 initData  .

         "appendId": "modalRef" 把模态框的代码附加到哪里去 <div id="modalRef"></div>

         "modalId": "myModal"  模态框代码的ID

         "title": "修改菜单"   模态框标题

        "formId": "formEdit", form表单的ID,至于为什么加一个form表单,是因为Jquery取数据比较方便,$("#formEdit").serialize()

        "loadUrl": "/Menus/Edit", //如果不从页面加载,写成"null"

                      如果写成"null", 就会从cols中取数据

         "loadParas": { "ID": id }, //向loadUrl传的数据,加载一个页面时需要传的数据,比如要取一条记录的数据要传给后台ID

         "postUrl": "/BasicManage/Edit", //点击提交按钮时要提交到哪里,提交数据使用的 $("#formEdit").serialize(),会把form表单里有name的都提交到后台

         "close": reloadDt, //关闭弹出窗后调用的方法,提交数据后,点模态框的关闭按钮时应该刷新表格的数据

                 //关闭弹出窗后调用的方法

                function reloadDt() {           
                    //刷新
                    _dataTables.ajax.reload();
                }

          "cols": "" //数据格式:  [ {"displayName":"菜单名","fieldName":"Name"}] 

                       会拼接成    菜单名:<input type="text" name="Name"  />

      whr.setModal(initData);  调用拼接模态框的js方法

     代码如下:

1 var whr = {}; 2  3 whr.setModal = function (data) { 4     var modal = "
"; 5 $("#" + data.appendId).empty(); 6 $("#" + data.appendId).append(modal); 7 8 //加载一个页面的内容 9 if (data.loadUrl != "null") {10 var form2 = "
";11 $("#" + data.modalId + " .modal-body").append(form2);12 $("#" + data.formId).load(data.loadUrl, data.loadParas);13 }14 else {15 var form2 = "
";16 for (var i = 0; i < data.cols.length; i++) {17 form2 += "
";18 }19 form2 += "
";20 $("#" + data.modalId + " .modal-body").append(form2);21 }22 $("#" + data.modalId).modal('show');23 $("#btn-" + data.modalId).click(function () 24 {25 $.post(data.postUrl, $("#" + data.formId).serialize(), function (data) {26 if (data == "ok") {27 alert("添加成功");28 }29 else {30 alert("添加失败");31 }32 });33 34 });35 36 $("#btn-close" + data.modalId).click(function () {37 data.close();38 });39 }
View Code

 

    注意 其中的一段代码 ,post的返回值我写死了,可以修改一下上面封装的js,改成自定义的

1 $.post(data.postUrl, $("#" + data.formId).serialize(), function (data) {2             if (data == "ok") {3                 alert("添加成功");4             }5             else {6                 alert("添加失败");7             }8         });

    后台代码:

      public string AddMenu(Menu menu)

        {
            MenuDAO Dao = new MenuDAO();
            bool flag = Dao.AddMenu(menu);
            return flag?"ok":"error";
        }

  

转载于:https://www.cnblogs.com/lanshanke/p/5058938.html

你可能感兴趣的文章
OpenCart框架运行流程介绍
查看>>
webstorm使用技巧
查看>>
4273_NOIP2015模拟10.28B组_圣章-精灵使的魔法语
查看>>
简单的验证码识别之Tess4j
查看>>
day1 联合权值
查看>>
BigData07_08 异常Exception
查看>>
CSS兼容IE6,IE7,FF的技巧
查看>>
AI初探
查看>>
flask模板应用-自定义错误页面 --
查看>>
20172319 2018.03.12-19 《程序设计与数据结构》第2周学习总结
查看>>
BZOJ2244 [SDOI2011]拦截导弹 【cdq分治 + 树状数组】
查看>>
ASP.NET Web API 控制请求频率
查看>>
教你几种在SQLServer中删除重复数据方法(转)
查看>>
iOS中的图像处理(一)——基础滤镜
查看>>
Java中int类型和tyte[]之间转换及byte[]合并
查看>>
silverlight2 游戏 1 你能坚持多少秒
查看>>
数组元素java集合源代码分析(一)
查看>>
一边学习一边爱着梦着一边生活
查看>>
线性结构与非线性结构
查看>>
ID:12031 全排列
查看>>