不說廢話,直接上代碼吧。。。 //定義一個全局變量防止重複提交(百度了一下似乎很多人也遇到類似的問題) 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 }
生命不息,代碼不止...
转载于:https://www.cnblogs.com/MR-YY/p/4192061.html