天天看點

layer彈出窗體及子→父窗體,父→子窗體表單屬性傳值的問題

首先引入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是一個變量

還有注意一點:

layer彈出窗體及子→父窗體,父→子窗體表單屬性傳值的問題

如果想對下拉清單不想讓别人修改(最好不要在其元素上寫死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;">
           

繼續閱讀