/**
* 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("");