jquery easy ui datagrid中遇到的坑爹的問題。。。_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > jquery easy ui datagrid中遇到的坑爹的問題。。。

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

 2014/12/29 17:54:13  绿茶/  程序员俱乐部  我要评论(0)
  • 摘要:不說廢話,直接上代碼吧。。。//定義一個全局變量防止重複提交(百度了一下似乎很多人也遇到類似的問題)1vari=0;2//修改3functionUpdate(){4//獲取選中行5varselected=$("#dg1").datagrid('getSelected');//判斷是否有選中行6if(selected!=null){7//顯示添加窗體8$('.theme-popover-mask').fadeIn(100);9$('.theme-popover').slideDown(200)
  • 标签:tag jQuery
      不說廢話,直接上代碼吧。。。
      //定義一個全局變量防止重複提交(百度了一下似乎很多人也遇到類似的問題)
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 //重新加载datagrid 57 $("#dg1").datagrid('reload'); 58 } 59 });
                //end ajax 60 //$.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 click 80 } 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),  //quarter
10                 "S": this.getMilliseconds() //millisecond
11             }
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         }

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

 

发表评论
用户名: 匿名