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                                 //重新加载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         }

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

时间: 2024-10-11 12:51:28

jquery easy ui datagrid中遇到的坑爹的問題。。。的相关文章

Jquery easy ui datagrid動態加載列問題

1.如下图效果是当选择不同的日期范围时datagrid则会加载出对应的列数 2.首先是后台组装数据,我采用的是循环并拼接DataTable数据,如下代码 //循環添加datagrid所需的表頭數據 for (int i = 0; i < table.Columns.Count; i++) { columns.AppendFormat("{{field:'{0}',title:'{1}',align:'center',width:{2}}},", table.Columns[i].

JQuery Easy Ui dataGrid 数据表格

Extend from $.fn.panel.defaults. Override defaults with $.fn.datagrid.defaults. The datagrid displays data in a tabular format and offers rich support to select, sort, group and edit data. The datagrid has been designed to reduce development time and

使用easy ui过程中资料(网址)总结

(1)JQuery Easy Ui 可装载组合框 - ComboBox (2)JQuery Easy Ui DataGrid

Jquery Easy UI初步学习(二)datagrid的使用

第一篇学的是做一个管理的外框,接着就是数据datagrid绑定了,这里我用asp.net mvc3来做的,主要就是熟悉属性.方法. 打开easyui的demo 就可以看到如下一段代码: 和上篇一样class="easyui-datagrid", data-options="...",这是一样的,其他我在网上查了查,并做了整理 DataGrid 属性 参数名 类型 描述 默认值 title string Datagrid面板的标题 null iconCls strin

JQuery Easy Ui (Tree树)详解

在这里沉重悼念我辛辛苦苦写了4个小时的文章,因为我的失误,没保存,而夭折啦..... 我的痛苦谁能懂? 哎~~~~  吃一见长一智吧! 么的办法啊! 但是,但是!我狠了狠心,咬了咬牙!我决定,再写一遍!!! 谁知道哭的表情怎么写! 我已经无法用言语表达我此时此刻的沉重心情了! (以下内容,身为菜鸟的我是用颤抖的双手敲出来的,忘同志们珍惜!!!!) 记得4个小时之前,我写过一个随笔,它的内容是这样的: 每次写博客,都喜欢在前面和大家分享一些东西,今天要分享的是一个小故事: 一个世界著名的大酒店正在

Jquery Easy UI初步学习(三)数据增删改

第二篇只是学了加载用datagrid加载数据,数据的增删改还没有做,今天主要是解决这个问题了. 在做增删改前需要弹出对应窗口,这就需要了解一下EasyUi的弹窗控件. 摘自:http://philoo.cnblogs.com/ 我的理解,就是panel有的属性Window.dialog都有,同时保留自己的扩展属性方法 , 所以主要展示pannel的属性. Pannel 属性 名称 类型 说明 默认值 title string 显示在Panel头部的标题文字. null iconCls strin

JQuery Easy Ui (Tree树)详解(转)

JQuery Easy Ui (Tree树)详解(转) 第一讲:JQuery Easy Ui到底是什么呢? 首先咱们知道JQuery是对Java Script的封装,是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等.. JQuery ui是在jQuery的基础上,利用jQuery的扩展性,设计的插件. 那么JQuery Easy Ui到底是什么呢? 我的理解就是比JQuery ui更强大,同样都是实现绚丽的多功能效果! jQuery Easy UI的目的就是帮助Web开发者更轻松的打

jquery easy ui 1.5最新版本 简单的权限分配

jquery easy 1.5 Maven+servlet+jsp+jdbc实现权限管理分配 首先,我先说明下,我只是一个菜鸟,我只是在编程道路上摸索的一个的小码农.做开发三年了,这好像是我第一次写博客.以前接触过类似于jquery easy  ui 的DWZ,是我第一家公司用的UI框架.所以用easy ui感觉很快能上手.都是基于jquery 的ui框架.好,废话少说.此次项目我是用最基础的jsp+servlet+jdbc写的,同时加入了maven管理jar包以及发布.应该很好理解的. 1.准

jQuery Easy UI Droppable(放置)组件

Droppable(放置)组件也是一个基本组件,用法较简单,语法都在例子里面注释了: 示例: <!DOCTYPE html> <html> <head> <title>jQuery Easy UI</title> <meta charset="UTF-8" /> <script type="text/javascript" src="easyui/jquery.min.js&qu