jQuery增删改查

var curEditRow = -1, curNewRow = -1, curSelRow = -1;

var rowData = {};

$(function () {

/********************************* 初始化日期 ***********************************/

$("input[name='datepicker']").datepicker({

changeMonth: true,

changeYear: true,

dateFormat: 'yy-mm-dd',

regional: ['zh-CN']

});

initDatePicker("startTime", -30);

initDatePicker("endTime", 0);

$('#dialog').dialog({

title: "查看数据库日志信息",

autoOpen: false,

width: 300,

height: 350,

top: 100,

autoOpen: false,

modal: true,

buttons: {

"关闭": function () {

$(this).dialog("close");

}

}

});

listDBLog_Init();

});

function getParams() {

var params = {startTime: '', endTime: '' };

params.startTime = $("#startTime").val();

params.endTime = $("#endTime").val();

return params;

}

//查询按钮响应事件

function tableQueryClick() {

CompareDate("#startTime", "#endTime", true);

var tableName = "#list";

if (!$(tableName).getGridParam("url")) {

listDBLog_Init();

return;

}

var params = getParams();

$(tableName).appendPostData(params);

$(tableName).trigger("reloadGrid");

}

function listDBLog_Init() {

$("#list").jqGrid({

url: 'ListDBLog',

datatype: 'json',

mtype: 'GET',

colNames: ['Id', '用户', '错误类型', '控制器名称', '方法名称', '结果', '时间'],

colModel: [{ name: 'Id', index: 'Id', sortable: false, editable: false, width: 50, hidden: false },

{ name: 'UserId', index: 'UserId', sortable: false, editable: true, search: false, width: 80 },

{ name: 'Type', index: 'Type', sortable: false, editable: true, search: false, width: 80 },

{ name: 'ControllerName', index: 'ControllerName', sortable: false, editable: true, search: false, width: 80 },

{ name: 'ActionName', index: 'ActionName', sortable: false, editable: true, search: false, width: 170 },

{ name: 'Result', index: 'Result', sortable: false, editable: false, search: false, width: 80,hidden:false },

{ name: 'Date', index: 'Date', sortable: false, editable: false, search: false, width: 100 }

],

pager: $("#pager"),

autowidth: true,

shrinkToFit: true,

forceFit: true,

height: '100%',

rowNum: 30,

rowList: [30, 50, 80],

altRows: true,

formEdit: true,

modal: true,

drag: true,

sortname: '',

sortorder: 'desc',

viewrecords: true,

multiselect: false,

imgpath: GRID_IMG_PATH,

caption: '数据库日志报表',

postData: getParams(),

ondblClickRow: function (id) {

var gr = $(this).getRowData(id);

$("#UserId").html(gr.UserId);

$("#Type").html(gr.Type);

$("#ControllerName").html(gr.ControllerName);

$("#ActionName").html(gr.ActionName);

$("#Result").html(gr.Result);

$("#Date").html(gr.Date);

$('#dialog').dialog("open");

},

loadComplete: function () {

curEditRow = -1;

curSelRow = -1;

curNewRow = -1;

var $table = $("#list");

var ids = $table.getDataIDs();

$table.jqGrid('setSelection', ids[0]);

},

onSelectRow: function (id) {

if (id == curNewRow) {

curSelRow = id;

return; //新增加行的选中事件

}

var $table = $("#list");

if (curNewRow != -1) {

if (!confirm("当前存在新增而未提交的行?确认放弃提交吗?")) {

return;

} else {

cancelNewRow();

}

}

if (curEditRow != -1) {

if (!confirm("存在编辑未提交的行?确认放弃提交吗?")) {

return;

}

}

curEditRow = -1;

curNewRow = -1;

curSelRow = id;

disableRowEdit(); //禁止提交

}

}).navGrid("#pager", {

edit: false, add: false, del: false, search: false

}) ;

}

//"新增"事件

function insertNewRow() {

if (curNewRow != -1) {

//$.weeboxs.open('当前存在新增而未提交的行,请选提交.', { title: '提示<span >(3秒后自动关闭)<span>', type: 'alert', timeout: 3 });

alert("当前存在新增而未提交的行,请选提交");

return;

}

if (curEditRow != -1) {

if (!confirm("存在编辑未提交的行?确认放弃提交吗?")) {

return;

}

curEditRow = -1;

}

curNewRow = "new_10000";

var tableName = "#list";

var $table = $(tableName);

initRowData(); //初始化行数据值

$table.addRowData(curNewRow, rowData);

$table.jqGrid('editRow', curNewRow);

$(tableName).jqGrid('setSelection', curNewRow);

enableRowEdit();

}

//"修改"事件

function editSelRow() {

var tableName = "#list";

if (curEditRow != -1) {

cancelEditRow(tableName, curEditRow);

}

if (curSelRow == -1) {

//$.weeboxs.open('您未选择编辑行.', { title: '提示<span >(3秒后自动关闭)<span>', type: 'alert', timeout: 3 });

alert("您没有选择编辑行");

return;

}

curEditRow = curSelRow;

enableRowEdit();

$(tableName).editRow(curEditRow);

//$(tableName).setCell(curEditRow, 'editHtml', editHtml);

initRowData(); //初始化行数据值

}

//"删除"事件

function delSelRow() {

if (curSelRow == -1) {

alert("未选择删除行!");

//$.weeboxs.open('您尚未选择删除行.', { title: '提示<span >(3秒后自动关闭)<span>', type: 'alert', timeout: 3 });

return;

}

if (curEditRow != -1 || curNewRow != -1) {

if (!confirm("当前存在编辑未提交的行?确认放弃编辑吗?")) {

return;

}

}

if (confirm("确定删除被选择的项吗?")) {

$.ajax({

url: 'DeleteDblogItem',

data: "#list").getCell(curSelRow, "Id") + "&",

type: "POST",

dataType: "json",

success: function (jdata, stat) {

//$.weeboxs.open(jdata.info, { title: '提示<span >(3秒后自动关闭)<span>', type: 'alert', timeout: 3 });

alert(jdata.info);

tableQueryClick(); //重新查询

return;

}

});

}

}

function cancelNewRow() {

$('#list').jqGrid('delRowData', curNewRow);

// $("#" + curNewRow + "_UserID").unbind("blur"); //取消绑定

curNewRow = -1;

curSelRow = -1;

}

function cancelEditRow() {

$('#list').jqGrid('restoreRow', curEditRow);

curEditRow = -1;

}

function initRowData() {

rowData = null;

rowData = { Id: '', UserId: '', Type: '', ControllerName: '',ActionName:'',Result:'',Date:''};

}

function enableRowEdit() {

$('#btSaveAll').attr('disabled', false);

$('#btCancelAll').attr('disabled', false);

}

function disableRowEdit() {

$('#btSaveAll').attr('disabled', true);

$('#btCancelAll').attr('disabled', true);

}

//保存按钮事件

function SaveAll() {

if (curNewRow != -1) {

saveNewRowChecked();

} else if (curEditRow != -1) {

saveEditRowChecked();

}

}

function CancelAll() {

if (curNewRow != -1) {

cancelNewRow();

} else if (curEditRow != -1) {

cancelEditRow();

}

}

function saveNewRowChecked() {

var tableName = "#list";

var str;

//取编辑数据

for (var index in rowData) {

if (index.toString() == 'undefined' ) {

continue;

}

str = $(tableName).find("#" + curNewRow + "_" + index).val();

if (str != undefined) {

rowData[index] = Trim(str);

}

}

str = jQuery.param(rowData);

$.ajax({

url: 'AddDblog',

data: str,

type: "POST",

dataType: "json",

success: function (jdata, stat) {

//$.weeboxs.open(jdata.info, { title: '提示<span >(3秒后自动关闭)<span>', type: 'alert', timeout: 3 });

alert(jdata.info);

if (jdata.result == "success") {

//$("#" + curEditRow + "_UserId").unbind("blur"); //取消绑定

tableQueryClick(); //重新查询

} else {

enableRowEdit();

}

return;

},

error: function (XMLHttpRequest, textStatus, errorThrown) {

enableRowEdit();

}

});

}

function saveEditRowChecked() {

var tableName = "#list";

var str;

//取编辑数据

for (var index in rowData) {

if (index.toString() == 'undefined') {

continue;

}

str = $(tableName).find("#" + curEditRow + "_" + index).val();

if (str != undefined) {

rowData[index] = Trim(str);

}

}

str = jQuery.param(rowData);

$.ajax({

url: 'UpdateDblog',

data: "#list").getCell(curSelRow, "Id") + "&" + str,

type: "POST",

dataType: "json",

success: function (jdata, stat) {

//$.weeboxs.open(jdata.info, { title: '提示<span >(3秒后自动关闭)<span>', type: 'alert', timeout: 3 });

alert(jdata.info);

if (jdata.result == "success") {

//$("#" + curEditRow + "_UserID").unbind("blur"); //取消绑定

tableQueryClick(); //重新查询

}

curEditRow = -1;

disableRowEdit();

return;

},

error: function (XMLHttpRequest, textStatus, errorThrown) {

enableRowEdit();

}

});

}