MVC项目中与后台协调写出的关于表格数据读取、修改、删除、提交、新增数据的JS事件

在项目开发中,给后台处理相关数据交互(提交、编辑、新增、删除)时,数据这块都要用一个包裹,
同时再第一行加一个,确保在点击事件发生时为这个form赋值一个ID,不然后台无法操作。
在全局JS中定义自定义方法:
//定义时间转换函数

String.prototype.formatSerizedDateTime = function () {
var dt = new Date(Number(this.replace(/\D/g, ”)));
return dt;
}

//定义数据提交点击确认时刷新页面

function checkResult(e) {
console.dir(e);
if (e.status == “success”) { showSuccess(); setTimeout(reloadFrame, 2000); }
else {showFail(e)};
function showSuccess() {
.ShowNotice(“success”, “成功”, “更新成功”, “top”, 3000);  
}  
function showFail(e) {
.ShowNotice(“error”, “失败”, e.message || “更新失败”, “top”, 3000);
}

// 表格行折叠功能

(.parentrowtd).on(click,function(e)if($(e.target).hasClass("checkOption")||$(e.target).hasClass(fontblue))return;varthisRow=$(this).parent(.parentrow);varcateId=thisRow.attr(datavalue);varchildrenRows=$(.subrow[dataparentcateid=+cateId+]);if(childrenRows.length==0)childrenRows=$(.subrow[dataparentvalue=+cateId+]);childrenRows.toggle();varexpanded=thisRow.find(.glyphicontrianglebottom).length==1;if(expanded)thisRow.find(.glyphicontrianglebottom).removeClass(glyphicontrianglebottom).addClass(glyphicontriangleright);elsethisRow.find(.glyphicontriangleright).removeClass(glyphicontriangleright).addClass(glyphicontrianglebottom);); (“.check-all”).click(function () {
(this).parents("table").find(".checkboxItem").prop("checked", (this).prop(“checked”));
});
$(“.parent-row”).css(“background-color”, “#E6E6E6”);
});`

//删除提示函数

var sweetAlertTitle = {
title: “您确定要删除这条信息吗”,
text: “删除后将无法恢复,请谨慎操作!”,
type: “warning”,
showCancelButton: true,
confirmButtonColor: “#DD6B55”,
confirmButtonText: “删除”,
closeOnConfirm: false
};
var deleteAllTitle = {}
//用到的JS如下
(function(){.getJSON(urls.dutyList, { t: new Date().getMilliseconds() }, function (e) { //Ajax向服务器加载数据
if (e.status == “success”) {                         //状态成功与否的判断
var data = e.data;
var dataHtml = “”, tmp = “”;

//表格内容的字符串拼接写法

for (var i = 0; i < data.length; i++) {
var start = data[i].WorkStartTime.formatSerizedDateTime();
var end = data[i].WorkEndtime.formatSerizedDateTime();
var modify = data[i].ModifyTime.formatSerizedDateTime();
data[i].WorkStartTime = start.toLocaleDateString() + start.toLocaleTimeString();
data[i].WorkEndtime = end.toLocaleDateString() + end.toLocaleTimeString();
data[i].ModifyTime = modify.toLocaleDateString() + modify.toLocaleTimeString();
dataHtml += “” + data[i].DutyID + “” + data[i].WorkStartTime + “” + data[i].WorkEndtime + “” + data[i].LunchDuration + “” + data[i].DinnerDuration + “” + data[i].ModifyTime + ““;
var deleteString = ‘修改    删除‘;
dataHtml += deleteString + “”
}
(“#table-normalClasses tbody”).append(dataHtml);  
} else if (e.status == “error”) {  
//给个错误提示先
.ShowNotice(“error”, “提示”, “获取失败”);
return;
}
});

//表格修改内容,自动抓取内容的方法

(“#table-normalClasses”).on(“click”, “.edit-duty”, function () {  
var dutyId =
(this).attr(“data-duty-id”);
(“#dutyID”).val(dutyId);.post(urls.getDuty, { dutyId: dutyId }, function (e) {
if (e.status == “success”) {
var data = e.data;
(“#classesName”).val(data.DutyID);  
var time = (data.WorkStartTime).formatSerizedDateTime();
(“#editStartTime”).val((time.getHours() < 10 ? “0” : “”) + time.getHours() + “:” + (time.getMinutes() < 10 ? “0” : “”) + time.getMinutes());
time = data.WorkEndtime.formatSerizedDateTime();
(“#editEndTime”).val((time.getHours() < 10 ? “0” : “”) + time.getHours() + “:” + (time.getMinutes() < 10 ? “0” : “”) + time.getMinutes());(“#lunchTime”).val(data.LunchDuration);
(“#dinnerTime”).val(data.DinnerDuration);(“#popUp-altergrades”).modal(“show”);
}
else {
return false;
}
});
});

//删除表格数据事件(用到sweetAlert的删除提示控件)

(“#table-normalClasses”).on(“click”, “.delete-duty”, function (e1) {  
sweetAlertTitle.title = “删除该排班”;  
var dutyId =
(this).attr(“data-duty-id”);
var row = (this).parents(“tr”);  
swal(sweetAlertTitle,  
function () {
.post(urls.deleteDuty, { dutyId: dutyId }, function (e) {
if (e.status == “success”) {
row.remove();
swal.close();
.ShowNotice(“success”, “操作成功”, “删除成功”);  
} else {  
swal.close();
.ShowNotice(“error”, “操作失败”, e.message);
}
});
});
});

//新增按钮

(“#addDutyBtn”).on(“click”, function () {  
var form =
(this).parents(“form”);
$.post(urls.addDuty, JSON.stringify(form.serializeObject()), function (e) {
checkResult(e);
});
return false;
});

//submit提交内容

(“#popUp-altergrades”).on(“click”, “[type=submit]”, function (e1) {  
var form =
(this).parents(“form”);
//form.find(“#DutyID”).val( (this).attr(datadutyid)); .post(urls.updateDuty, JSON.stringify(form.serializeObject()), function (e) {
checkResult(e);
});
return false;
});
});
“`

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值