保存‘选中多条数据’和‘直接全部表格数据(不用多选或单选)’:
1)选中多条数据保存:(其中‘enquireFileList’是在action中定义的相关DTO的List)
var jqTable = $("#fileGrid-table");
var multi_rowid = jqTable.getGridParam('selarrrow');
var formObj = $("<form></form>");
for(var j = 0; j < multi_rowid.length; j++){
var obj = jqTable.jqGrid('getRowData', multi_rowid[j]);
for (var f in obj) {
if(f.indexOf('.')>=0){
$('<input>').attr('type',"hidden").attr('name',"enquireFileList["+j+"]." + f.split('.')[1]).val(obj[f]).appendTo(formObj);
}else{
$('<input>').attr('type',"hidden").attr('name',"enquireFileList["+j+"]." + f).val(obj[f]).appendTo(formObj);
}
}
}
2)直接全部表格数据(不用‘多选或单选’):(下面要对日期进行处理)
var jqTable = $("#assignTo-table");
var assignFormData = jqTable.getGridParam('data');
var assignformObj = $("<form></form>");
for(var j = 0; j < assignFormData.length; j++){
for (var f in assignFormData[j]) {
if(f=='effectiveDate' || f=='expiryDate' || f=='tfpLstModDate' || f=='tfcLstModDate'
|| f=='tfeLstModDate' || f=='tftLstModDate'){
assignFormData[j][f] = $.fullCalendar.formatDate($.fullCalendar.parseDate(assignFormData[j][f]),"${SYSTEM_DATE_FORMAT}");
}
if(f.indexOf('.')>=0){
$('<input>').attr('type',"hidden").attr('name',"assignedOfficerDtoList["+j+"]." + f.split('.')[1]).val(assignFormData[j][f]).appendTo(assignformObj);
}else{
$('<input>').attr('type',"hidden").attr('name',"assignedOfficerDtoList["+j+"]." + f).val(assignFormData[j][f]).appendTo(assignformObj);
}
}
}
以上两种方式的获取jqgrid的数据方法都通过ajax的post请求传到后台,关键在于处理好日期格式,否则不能传到后台,还有自创建一个表单,并对表单数据进行序列化处理:
$.ajax({
url:saveURL,
type:"POST",
data:assignformObj.serialize() + '&'+ caseformObj.serialize(),
async:false,
success:function(data){
if(data.actionErrors.length >0){
$.info(data.actionErrors);
return false;
}else {
$.info('${action.getDBTexts("900-N-0008", "Saved")}');
$("#assignTo-table").trigger("reloadGrid");
};
}
});