点击按钮打开子页面,实现父子页面相互传值,再次点击回显子页面保存的数据

效果图(登录为保存的意思)

1.点击按钮打开子页面 js代码(打开页面如果隐藏域有值就回显在子页面上)

/**
 * 打开银行信息页面
 * */
InputInfoDlg.openAddBankInfo = function () {

    var bankArr = [];
    var bankjsonstr = $('#bankinfo').val();
    if(bankjsonstr == ""){
        bankArr = [];
    }else{
        bankArr =JSON.parse(bankjsonstr);
    }
    
    var index = layer.open({
        type: 2,
        title: '銀行情報を入力します',
        area: ['800px', '400px'], //宽高
        fix: false, //不固定
        maxmin: true,
        shadeClose: true,
        content: Feng.ctxPath + '/input/bank_info',
        success: function (layero, index) {
            // 获取子页面的iframe
            var iframe = window['layui-layer-iframe' + index];
            // 向子页面的全局函数child传参
            iframe.child(bankArr);
        }

    });
     this.layerIndex = index;
};

2.打开子页面对应Controller

@Controller
@RequestMapping("/input")
public class PublishProductKeyController extends BaseController {
    private String PREFIX = "/system/input/";
    @RequestMapping(value = "/bank_info",method = RequestMethod.GET)
    public String bankInfo() {
       return PREFIX + "bank_info.html";
    }
}

 3.子页面保存数据向父页面传值(向父页面隐藏域设置值)

/**
 * 保存银行信息
 * */
var bankInfo = [];

InputInfoDlg.saveBankInfo =function(){
    if (!this.validate2()) {
        return;
    }
    bankInfo.push({
        "bankType" : $('input[name="inlineRadioOptions"]:checked ').val(),
        "accountAlias" :$("#accountAlias").val(),
        "accountName" :$("#accountName").val(),
        "bankName" :$("#bankName").val(),
        "bankNum" :$("#bankNum").val(),
        "branchName" :$("#branchName").val(),
        "branchNum" :$("#branchNum").val(),
        "depositType" :$('input[name="inlineRadioOptions2"]:checked ').val(),
        "account" :$("#account").val(),
        "tips" :$("#tips").val()
    });
    var str=JSON.stringify(bankInfo);
    //父页面隐藏域 设置值
    parent.$('#bankinfo').val(str);
    parent.$('#makeLicense')[0].disabled = false;
    parent.layer.close(window.parent.InputInfoDlg.layerIndex);

};

4.子页面获取值,回显数据

对应第一步里 success 回调函数里的   iframe.child(bankArr);

  success: function (layero, index) {
            // 获取子页面的iframe
            var iframe = window['layui-layer-iframe' + index];
            // 向子页面的全局函数child传参
            iframe.child(bankArr);
        }

回显代码 写在子页面html 最下方,加载页面即调用 

<script>
	function child(data) {
		$("input[name='inlineRadioOptions'][value="+data[0].bankType+"]").attr("checked",true);
		$("input[name='inlineRadioOptions2'][value="+data[0].depositType+"]").attr("checked",true);
		$("input[name='accountName']").val(data[0].accountName);
		$("input[name='accountAlias']").val(data[0].accountAlias);
		$("input[name='bankName']").val(data[0].bankName);
		$("input[name='bankNum']").val(data[0].bankNum);
		$("input[name='branchName']").val(data[0].branchName);
		$("input[name='branchNum']").val(data[0].branchNum);
		$("input[name='account']").val(data[0].account);
		$("input[name='tips']").val(data[0].tips);

		if (data[0].bankType == 1) {
			document.getElementById("bankName").setAttribute("disabled", true);
			document.getElementById("bankNum").setAttribute("disabled", true);
			document.getElementById("branchName").setAttribute("disabled", true);

		}

	}
</script>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值