父页面
<script type="text/javascript">
$(function() {
dataGrid = $('#dataGrid').datagrid({
{
****
columns : [ [
field : 'action',
title : '操作',
width : 50,
formatter : function(value, row, index) {
var str = $.formatString('<img onclick="reRefundFun(\'{0}\');" src="{1}" title="退款"/>', row.orderId, '图标路径');
return str;
}] ],
toolbar : '#toolbar',
****
}
}
});
</script>
//点击 弹出子页面 sonPage
function reRefundFun(orderId) {
parent.$.modalDialog({
title : '**操作',
width : 500,//子页面大小
height : 600,
href : '${pageContext.request.contextPath}/**Controller/Page?orderId='+orderId,
buttons : [ {
text : '退款',
handler : function() {
//因为操作成功之后,需要刷新这个dataGrid,所以先预定义好
parent.$.modalDialog.openner_dataGrid = dataGrid;
//可获得子页面sonPage 下id="queryFlag"的值
//parent.$.modalDialog.handler.find('#queryFlag').val();
var queryFlag = parent.$.modalDialog.handler.find('#queryFlag');
//为queryFlag重新赋值,作为标志位,传给后台以判断点击的是哪个操作按钮
queryFlag.val("***");
//f 获得子页面id="form"的表单数据
var f = parent.$.modalDialog.handler.find('#form');
f.submit();//表单提交
}
}, {
text : '拒绝退款',
handler : function() {
parent.$.modalDialog.openner_dataGrid = dataGrid;
var queryFlag = parent.$.modalDialog.handler.find('#queryFlag');
queryFlag.val("xxx");
var f = parent.$.modalDialog.handler.find('#form');
f.submit();
}
} ]
});
}
@RequestMapping("/Page")
public String refundPage(HttpServletRequest request, String orderId){
//根据orderId进行相应操作
request.setAttribute("给页面传的值",**);
return "/路径/sonPage(对应jsp子页面名称)";
}
注意两者区别
parent.$.modalDialog.handler.find(‘#对应ID’).val();//真正获得值
parent.$.modalDialog.handler.find(‘#对应ID’);
点击 退款 执行reRefundFun(id)方法,跳出子页面
子页面sonPage
<script type="text/javascript">
$(function() {
parent.$.messager.progress('close');
});
/*
function trim(str){
return str.replace(/(^\s*)|(\s*$)/g, "");//删除左右两端的空格
}
*/
$(function() {
parent.$.messager.progress('close');
$('#form').form({
url : '${pageContext.request.contextPath}/**Controller/refundMoney',
onSubmit : function() {
parent.$.messager.progress({
title : '提示',
text : '数据处理中,请稍后....'
});
var isValid = $(this).form('validate');
if (!isValid) {
parent.$.messager.progress('close');
}
return isValid;
},
success : function(result) {
parent.$.messager.progress('close');
result = $.parseJSON(result);
if (result.success) {
parent.$.modalDialog.openner_dataGrid.datagrid('reload');
parent.$.modalDialog.handler.dialog('close');
} else {
parent.$.messager.alert('错误', result.msg, 'error');
}
}
});
});
</script>
<div class="easyui-layout" data-options="fit:true,border:false">
<div data-options="region:'center',border:false" title="" style="overflow: auto;">
<form id="form" method="post">
隐藏一个字段,作为判别标志位
<input name="queryFlag" type="hidden" id="queryFlag" value=""/>
<table class="table table-hover table-condensed" style="font-size: small;">
<tr style="background-color: #E7F3FB;">
<td align="center" width="20%"><font size="3">编号:</font></td>
<td align="center" id="orderId">${fillRefundDto.orderId}</td>
</tr>
******
</table>
</form>
</div>
</div>
@RequestMapping("/refundMoney")
@ResponseBody
public Json refundMoney(FillRefundDto fillRefundDto, HttpServletRequest request){
根据fillRefundDto.getQueryFlag()的值,分别处理 退款/拒绝退款
json.setSuccess(true或false);
json.setMsg("成功还是失败信息");
return json;//返回处理后的结果
}