/** * ClassBase加载容器: 用于生成类别选择容器的界面 * scopeName : 作用域 * InstanceName: 实例名称 * InputName : 文本框名称 * StartClassID: 类编号,类范围.从哪一个父类开始显示 * ClassID : 默认分类ID * selectMode : 选择模式:0 必需要选择最终的子类才有值;1 选择大类也可取到值,无需选到最后一个子类; */ /** * 当选择一个下拉列表框时,则进行数据获取 * ClassID: 选择器选择的值 * ContainerNum: 选择器所处的容器编号 **/ function CourseClass2Container_ClassBaseLoader(ClassID, ContainerNum){ // 清除所有子选择器的内容 for(i=1+ContainerNum; i<=4; i++){ var container=document.getElementById("CourseClass2Container"+i); container.innerHTML=""; } // 重设值 document.getElementById("ClassID2").value=""; // 如果selectMode为1,且Container大于1,则自动获取上一级父类的ID if(1==1 && ClassID==0 && ContainerNum>1){ var selector=document.getElementById("CourseClass2Container_Selector"+(ContainerNum-1)); var pValue=selector.options[selector.options.selectedIndex].value; document.getElementById("ClassID2").value=pValue; } // 数据校验,如果选择的值为0,说明此时选择的是"请选择",而没有选择真正的数据,因此不运行.中断程序的运行 if(ClassID==0) return; // 获取下一个容器的编号,用于加载到下一个容器中,因此容器编号+1 ContainerNum=ContainerNum+1; /** * 为此次操作的选择器重新加载数据 * scopeName: 作用域,ClassBase操作需要提供作用域. * ContainerName: 容器名称,容器用来装载选择器 * ContainerNum: 容器编号,通过容器编号可以指定将新的选择器载入到哪个容器中. * ClassID: 当前选择器选择的值,用于生成下一级选择器,如果下一级已经没有选择器,则直接用此值来进行数据的提交 **/ // 如果容器的数量>下级层级数(即子类的总数)则直接取值 if(ContainerNum>4){ document.getElementById("ClassID2").value=ClassID; }else{ //var result = GetResult("GET", "/handle/classBaseLoader.vhtml?scopeName=trainorgan_course&ContainerName=CourseClass2Container&ContainerNum="+ContainerNum+"&ClassID="+ClassID); new Ajax.Request('/handle/classBaseLoader.vhtml?scopeName=trainorgan_course&ContainerName=CourseClass2Container&ContainerNum='+ContainerNum+'&ClassID='+ClassID,{ method: 'get', parameters: '', onSuccess: function(transport){ var result = transport.responseText || ""; // 如果加载到的内容为空,则说明已经是最后一个选择器了,因此可以直接给文本域赋值.反之则清空文本域. if(result==""){ document.getElementById("ClassID2").value=ClassID; } // 选择模式selectMode==1则可以取大类的值,而无需选择最终的子类 else{ if(1==1) document.getElementById("ClassID2").value=ClassID; else document.getElementById("ClassID2").value=""; } // 如果选择器编号不超过最大值,则载入新的选择器.如果超过了最大值,则说明已经是最后一个选择器了. if(ContainerNum<=4 && result!=""){ document.getElementById("CourseClass2Container"+ContainerNum).innerHTML=result; } }, onFailure: function(){alert("请求失败,请重试!");} }); } } document.write(""); document.write(""); document.write(""); document.write(""); document.write(""); document.write(""); document.write(""); document.write(""); document.write(""); // 选择类别的ID document.write("");