首先引入layer.js以及layer.css样式等文件:
下面我直接贴代码:(*****下述子窗体也就是弹出窗体)
function parentSave(){
var $singleSelect=$(".singleSelect").val();//单选分值
var $mulSelect=$(".mulSelect").val();//多选分值
var $judge=$(".judge").val();//判断分值
var $subjective=$(".subjective").val();//主观分值
layer.open({
type:2,
title:"新增",//false为无标题,可以设置标题title:"content"
maxmin:false,
shadeClose:true,
area:['1200px','800px'],
btn:['确定','取消'],
content:"${ctx}/examination/curriculumExaminationInfo/changePage?singleSelect="+$singleSelect+"&mulSelect="+$mulSelect+"&judge="+$judge+"&subjective="+$subjective+"",
yes:function(index,layero){//确认按钮的回调函数 该回调携带两个参数,分别为当前层索引、当前层DOM对象
addRow('#curriculumExaminationQuestionsList', curriculumExaminationQuestionsRowIdx, curriculumExaminationQuestionsTpl);curriculumExaminationQuestionsRowIdx = curriculumExaminationQuestionsRowIdx + 1;
//var datas=layero.find("iframe")[0].contentWindow.$("#inputForm").serialize();//获取弹出窗体表单数据
var body = layer.getChildFrame('body', index); //得到iframe页的body内容
var qtype = body.find("#questionsType").val();
var qscore=body.find("#questionsScore").val();
var contentTypes=body.find("#questType").val();
var answerA=body.find("#answerA").val();
layer.close(index);
}
});
}
其中父窗体向子窗体传值:
content:"${ctx}/examination/curriculumExaminationInfo/changePage?singleSelect="+$singleSelect+"&mulSelect="+$mulSelect+"&judge="+$judge+"&subjective="+$subjective+""
其中子窗体向父窗体传值:
//获取子窗体表单数据:
var datas=layero.find("iframe")[0].contentWindow.$("#inputForm").serialize();
//获取子窗体body元素:
var body = layer.getChildFrame('body', index);
//获取子窗体form表单中input元素:
var qtype = body.find("#questionsType").val();
*********************************下面说一个在select下拉列表中遇到的坑:*********************************
动态对下拉列表赋值:
例子:
$("#questionsType").val(qtype);是不正确的;
采用下面这种方式才能正确赋值:
$("#questionsType").find(“option[value=”+qtype+"]").attr(“selected”,true);
其中qtype是一个变量
还有注意一点:
如果想对下拉列表不想让别人修改(最好不要在其元素上写死disabled属性),除了第一种方式:
第一种:禁用
$('#id').attr("disabled",true);
$('#id').attr("disabled","disabled");
对应的移除disabled方法:
//三种方法移除disabled属性
$('#id').attr("disabled",false);
$('#id').removeAttr("disabled");
$('#id').attr("disabled","");
第二种,就是如上图这种效果,这种方法可以使下拉框和平常没有区别,看起来没有任何不同。唯一不同的就是下拉并单并选择之后,选了和没有选一样的。
例如:
<select style="width:195px" name="role" id="role" onfocus="this.defaultIndex=this.selectedIndex;"
onchange="this.selectedIndex=this.defaultIndex;">