父页面界面:
点击编辑进入
子页面界面:
- 父页面js代码
if(obj.event === 'edit'){ layer.open({ type: 2 ,title: "修改学生信息" ,area: ['45%', '70%'] ,content: 'displayStu.html', success: function(layero, index){ var body = layer.getChildFrame('body', index); var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象 body.find('#stuid').val(data1.stuid); body.find('#stuname').val(data1.stuname); body.find('#mobile').val(data1.mobile); body.find('#email').val(data1.email); body.find('input[name=sex][value=男]').attr("checked",data1.sex=='男' ? true : false); body.find('input[name=sex][value=女]').attr("checked",data1.sex=='女' ? true : false); iframeWin.layui.form.render(); //为弹框页面专业下拉框赋值 $.ajax({ url : '../../classes/MajorFindAllServlet?deptid=5', dataType : 'json', data : { 'state' : 0 }, //查询状态为正常的所有机构类型 type : 'post', success : function(data) { $.each(data, function(index, item) { if (item.majorid == data1.majorid) { body.find('#majorid').append($("<option>").attr("value",item.majorid).attr("selected","selected").text(item.majorname)); }else { body.find('#majorid').append($("<option>").attr("value",item.majorid).text(item.majorname)); } }); iframeWin.layui.form.render("select"); } }); //为弹框页面班级下拉框赋值 $.ajax({ url : '../../classes/ClassFindAllServlet', dataType : 'json', data : { majorid:data1.majorid }, //查询状态为正常的所有机构类型 type : 'post', success : function(data) { $.each(data, function(index, item) { if (item.classid == data1.classid) { body.find('#classid').append($("<option>").attr("value",item.classid).attr("selected","selected").text(item.classname)); }else { body.find('#classid').append($("<option>").attr("value",item.classid).text(item.classname)); } }); iframeWin.layui.form.render("select"); } }); } });
在父页面中为子页面的 二级联动下拉列表赋值后,还需要在子页面为下拉列表设置二级联动,否则无法正确修改
- 子页面 监听专业 二级联动获取班级
//二级联动根据专业获取班级 form.on('select(majorid)',function(data) { $.ajax({ type : 'POST', url : '../../classes/ClassFindAllServlet', data : { 'majorid' : $("#majorid").val() }, dataType : 'json', success : function(data) { $("select[name='classid']").empty(); var html = "<option value=''>请选择</option>"; $("#classid").append(html); $.each(data,function(index,item) { $("#classid").append( new Option(item.classname,item.classid)); }); //重新刷新了一下下拉框 form.render('select'); //重新渲染 } }); });
若子页面在浏览器兼容性测试时,父页面给子页面赋值 按钮未正确选中 但是F12中查看源码是选中状态,则在子页面中为不正确选中的 radio 设置默认选中即可