欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ajax形式提交子表单数据到后台

程序员文章站 2022-05-30 22:34:53
...
		
	//ajax形式提交子表单数据到后台!
	//用JSON.stringify传递参数,controller中要用@RequestBody注解接收参数
	$("#yourFormBtn").click(function () {
		
		//获取子grid中数据
        $('#gridId').saveRow();
        var gridDatas = $('#gridId').jqGrid('getGridParam', 'data');

		//定义子表数据的数组
        var subArray = [];
		
        for (var item in gridDatas) {
			//子表数据的对象
            var subData = {};
			//获取行数据的model
            var subDataModel = gridDatas[item];
            $('#subDataGrid').saveRow(subDataModel.id);
			
            if (subDataModel.actions == "new") {
                subData.id = ''
            } else {
                subData.id = subDataModel.id;
            }
			//子表数据的各个属性
            subData.attributeName1 = subDataModel.attributeName1;
            subData.attributeName2 = subDataModel.attributeName2;
            subData.attributeName3 = subDataModel.attributeName3;
			//对象放入数组
            subArray.push(subData);
        }

        $.ajax({
            type: "POST",
            async: false,
            contentType: 'application/json',
            url: "${ctx}/xx/xxx/saveAction",
			//controller中要有@RequestBody
			//subDataList对应bean属性中的List<>属性
			//private List<SubData> subDataList;
            data: JSON.stringify({
                'id': $("#id").val(),
                'subDataList': subArray,
            }),
            success: function (response) {
                js.showMessage(response);
                js.closeCurrentTabPage(function(contentWindow){
                    
                });
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                js.showMessage("Error");
            }
        });
    });