首页 > 学院 > 开发设计 > 正文

jquery easy ui datagrid中遇到的坑爹的問題。。。

2019-11-17 01:56:49
字体:
来源:转载
供稿:网友

jquery easy ui datagrid中遇到的坑爹的問題。。。

      不說廢話,直接上代碼吧。。。      //定義一個全局變量防止重複提交(百度了一下似乎很多人也遇到類似的問題) 1      var i = 0;   2         //修改 3         function Update() { 4             //獲取選中行 5             var selected = $("#dg1").datagrid('getSelected');         //判斷是否有選中行 6             if (selected != null) { 7                 //顯示添加窗體 8                 $('.theme-popover-mask').fadeIn(100); 9                 $('.theme-popover').slideDown(200);10                 //初始化窗體內容11                 $("#title").text("修改信息");12                 $("#btnAdd").hide();13                 $("#btnUpdate").show();14                 $("#id").val(selected.ID);             //問題就出在這裡  開始沒有用將選中行的ID賦值給hidden   開始一直以為是緩存的問題           而是直接寫的 model.push({ ID:selected.ID, Grade: grade, State: state, UserName: username, PassWord: password, RegisterDate: registerdate.format("yyyy-MM-dd hh:mm:ss") });           這樣的話取的ID就是第一次選中行的ID   所以後臺始終更新的就是第一次選中行的數據15                 $("#username").val(selected.UserName);16                 $("#username").attr("disabled", "disabled");17                 $("#username").attr("background-color", "#E0CACA");18                 $("#password").val(selected.PassWord);19                 $("input[name='grade'][value=" + selected.Grade + "]").attr("checked", "checked");20                 $("input[name='state'][value=" + selected.State + "]").attr("checked", "checked");21                 if (i == 0) {22                     $("#btnUpdate").click(function () {23                         i++;                 //點擊按鈕i++ i=0時才能提交 防止重複提交  24                         var model = [];25                         var id = $("#id").val();                 //再將hidden的值取出來賦值給id  這樣就沒有上面的問題了 我也是很鬱悶其實本質上沒區別的。。。  可就是取的值不一樣                model.push({ ID: id, Grade: grade, State: state, UserName: username, PassWord: password, RegisterDate: registerdate.format("yyyy-MM-dd hh:mm:ss") });26                         var username = $("#username").val();27                         var password = $("#password").val();28                         var grade = $("input[name='grade']:checked").val();29                         var state = $("input[name='state']:checked").val();30                         var registerdate = new Date();31                         model.push({ ID: id, Grade: grade, State: state, UserName: username, PassWord: password, RegisterDate: registerdate.format("yyyy-MM-dd hh:mm:ss") });32                         //Ajax异步提交33                         $.ajax({34                             type: "post",35                             cache: false,   //禁用緩存                 37                             url: "/Admin/Update?time" + (new Date()).getTime(), //也是防止緩存問題 38                             data: { "data": JSON.stringify(model)},  //序列化json格式提交到後臺39                             success: function (data) {40                                 $('.theme-popover-mask').fadeOut(100);41                                 $('.theme-popover').slideUp(200);42                                 if (data == 1) {43                                     ds.dialog({44                                         title: '溫馨提示',45                                         content: '恭喜你,修改成功!',46                                         icon: '../../images/dsdialog/success.png'47                                     });48                                 }49                                 else {50                                     ds.dialog({51                                         title: '溫馨提示',52                                         content: '修改失敗!',53                                         icon: '../../images/dsdialog/info.png'54                                     });55                                 }56                                 //重新加载datagrid57                                 $("#dg1").datagrid('reload');58                             }59                         });                //end ajax60                         //$.post("/Admin/Update?time" + (new Date()).getTime(), {"data": JSON.stringify(model) }, function (data) {61                         //$('.theme-popover-mask').fadeOut(100);62                         //$('.theme-popover').slideUp(200);63                         //if (data == 1) {64                         //      ds.dialog({65                         //                  title: '溫馨提示',66                         //                  content: '恭喜你,修改成功!',67                         //                  icon: '../../images/dsdialog/success.png'68                         //          });69                         // }70                         //else{71                         //      ds.dialog({72                         //                  title: '溫馨提示',73                         //                  content: '修改失敗!',74                         //                  icon: '../../images/dsdialog/info.png'75                         //           });76                         //}77                         //$("#dg1").datagrid('reload');78                         //});79                     });   //end click80                 }81             }82             else {83                 ds.dialog({84                     title: '溫馨提示',85                     content: '請選擇要修改的行!',86                     icon: '../../images/dsdialog/info.png'87                 });88             }89         }
 1      //删除 2         function Delete() { 3             var selected = $("#dg1").datagrid('getSelected'); 4             if (selected != null) { 5                 ds.dialog({ 6                     title: '溫馨提示', 7                     content: '你確定要刪除該用戶嗎?', 8                     icon: '../../images/dsdialog/question.png', 9                     yesText: '確定',10                     onyes: function () {                //可是刪除的時候 這樣是沒問題的  因為刪除了上一次選中的行就沒有了  所以不會出現Update時的問題 當然添加的時候也不會出現這種問題的 可是我先做的就是刪除方法 所以沒想到這些  哈哈 是不是很蛋疼了。。。11                         $.post("/Admin/Delete", { "Id": selected.ID }, function (data) {12                             if (data == 1) {13                                 ds.dialog({14                                     title: '溫馨提示',15                                     content: '恭喜你,刪除成功!',16                                     icon: '../../images/dsdialog/success.png'17                                 });18                             }19                             else {20                                 ds.dialog({21                                     title: '溫馨提示',22                                     content: '刪除失敗!',23                                     icon: '../../images/dsdialog/info.png'24                                 });25                             }26                             $("#dg1").datagrid('reload');27                         });28                     },29                     noTest: '取消',30                     onno: function () {31                         this.close();32                     }33                 });34             }35             else {36                 ds.dialog({37                     title: '溫馨提示',38                     content: '請選擇要刪除的行!',39                     icon: '../../images/dsdialog/info.png'40                 });41             }42         }
 1 //格式化日期 2         Date.PRototype.format = function (format) { 3             var o = { 4                 "M+": this.getMonth() + 1, //month 5                 "d+": this.getDate(),    //day 6                 "h+": this.getHours(),   //hour 7                 "m+": this.getMinutes(), //minute 8                 "s+": this.getSeconds(), //second 9                 "q+": Math.floor((this.getMonth() + 3) / 3),  //quarter10                 "S": this.getMilliseconds() //millisecond11             }12             if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));13             for (var k in o) if (new RegExp("(" + k + ")").test(format))14                 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));15             return format;16         }

    生命不息,代碼不止...


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表