⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typeclass.jsp

📁 华东粮油电子交易市场网站源码华东粮油电子交易市场网站源码华东粮油电子交易市场网站源码
💻 JSP
字号:
<%@ page contentType="text/html; charset=GBK" %>
<%!
	public String getStrTreeOut(String strType,String strDiv,int iAreaPos){		
		String strResult = "";		
		String strDataArray[][] = igec.site.base.business.DataUtilBusiness.getValues("SELECT ID,NAME,PARENTID FROM TAB_INDEXTYPE WHERE LAYER=" + strDiv + " AND TYPE=" + strType + " ORDER BY XH");
		for(int i=0;i<strDataArray.length;i++){
			strResult += "areaArray[" + (iAreaPos++) + "]=new Array('" + strDataArray[i][0] + "','" + strDataArray[i][2] + "','" + strDataArray[i][1] + "');\r\n";			
		}
		return strResult;
	}
%>
<%
	int iAreaPos = 0;
	String strIndexType = igec.util.Tool.getStr(request.getParameter("type"));
	//String strParentId=igec.util.Tool.getStr(request.getParameter("parentId")); // 处理具体层的分类(比如只输出中国的省市分类)
	if(igec.util.Tool.IsEmpty(strIndexType)) strIndexType = "0";
	//先取所有的层数
	String strMaxLayer = igec.site.base.business.DataUtilBusiness.getFieldValue("MAX(LAYER)","TAB_INDEXTYPE","WHERE TYPE=" + strIndexType);
	if(igec.util.Tool.IsEmpty(strMaxLayer)) strMaxLayer = "0";
	int iMaxLayer = Integer.parseInt(strMaxLayer);
	out.println("var areaArray = new Array();\r\n");
	for(int i=0;i<iMaxLayer;i++){
		out.println(getStrTreeOut(strIndexType,String.valueOf(i+1),iAreaPos));
		String strSonNum = igec.site.base.business.DataUtilBusiness.getFieldValue("COUNT(*)","TAB_INDEXTYPE","WHERE LAYER=" + String.valueOf(i+1) + " AND TYPE=" + strIndexType);
		iAreaPos += Integer.parseInt(strSonNum);
	}
	iMaxLayer--;
%>
 function CLASS_LIANDONG_YAO(array) 
  { 
   //数组,联动的数据源 
      this.array=array;  
      this.indexName=''; 
      this.obj=''; 
      //设置子SELECT 
    // 参数:当前onchange的SELECT ID,要设置的SELECT ID 
      this.subSelectChange=function(selectName1,selectName2) 
      { 
      //try 
      //{ 
    var obj1=document.all[selectName1]; 
    var obj2=document.all[selectName2]; 
    var objName=this.toString(); 
    var me=this; 
    var initArray = new Array();
    for(var i=2;i<this.subSelectChange.arguments.length;i++){
    		initArray[i-2] = this.subSelectChange.arguments[i];
    }
    obj1.onchange=function(){          
        me.optionChange(this.options[this.selectedIndex].value,obj2.id);
        for(var i=0;i<initArray.length;i++){
    			var initObj = document.all[initArray[i]];
        	initObj.length=0; 
    			initObj.options[0]=new Option("请选择",''); 
        }
    } 

      } 
      //设置第一个SELECT 
    // 参数:indexName指选中项,selectName指select的ID 
      this.firstSelectChange=function(indexName,selectName)   
      { 
      this.obj=document.all[selectName]; 
      this.indexName=indexName; 
      this.optionChange(this.indexName,this.obj.id) 

      } 
   
  	// indexName指选中项,selectName指select的ID 
		this.optionChange=function (indexName,selectName){ 
	    var obj1=document.all[selectName]; 
	    var me=this; 
	    obj1.length=0; 
	    obj1.options[0]=new Option("请选择",''); 
	    for(var i=0;i<this.array.length;i++){
	        if(this.array[i][1]==indexName){ 
	      		obj1.options[obj1.length]=new Option(this.array[i][2],this.array[i][0]); 
	        } 
	    } 
	   }
  }
  //这是调用代码 
  var S_liandong = new CLASS_LIANDONG_YAO(areaArray); //设置数据源 
  var S_AreaSelect = new Array();
  document.writeln("<SELECT ID=\"s_Option_Selct0\" NAME=\"s_Option_Selct0\"><OPTION selected>请选择</OPTION></SELECT>");
  S_AreaSelect[0] = "s_Option_Selct0";
<%
	for(int i=0;i<iMaxLayer;i++){
%>
	S_AreaSelect[<%=i+1%>] = "s_Option_Selct<%=(i+1)%>";
	document.writeln("<SELECT ID=\"s_Option_Selct<%=(i+1)%>\" NAME=\"s_Option_Selct<%=(i+1)%>\"><OPTION selected>请选择</OPTION></SELECT>");  	
<%
	}
%>
function initSelectOpt(){
		
  S_liandong.firstSelectChange("0","s_Option_Selct0"); //设置第一个选择框
<%
	for(int i=0;i<iMaxLayer;i++){
%>
	S_liandong.subSelectChange("s_Option_Selct<%=i%>","s_Option_Selct<%=(i+1)%>"<%for(int n=(i+2);n<=iMaxLayer;n++){out.print(",\"s_Option_Selct" + n + "\"");}%>); //设置子级选择框 
<%
	}
%>
}
function checkOneSelectOpt(obj){//检查选择框是否输入了对应的值
	if(obj.value==""){
		if(obj.length<=1){
			return 0;
		}else
			return 1;
	}else{
		return 0;
	}
}

function checkSelectOpt(obj){
	setSelectRecValue();
if(checkOneSelectOpt(document.getElementById("s_Option_Selct0"))==0<%for(int i=0;i<iMaxLayer;i++){out.print(" && checkOneSelectOpt(document.getElementById(\"s_Option_Selct" + (i+1) + "\"))==0"); }%>){
		return 0;
	}else{
		return 1;
	}
}
var s_ValueRecObj;
function setSelectRecObj(obj){
	s_ValueRecObj = document.getElementById(obj);
}

//设置最终的值
function setSelectRecValue(){
	for(var i=S_AreaSelect.length;i>0;i--){//倒着找
		var loObj = document.getElementById(S_AreaSelect[i-1]);		
		if(loObj!=null && loObj.length>1){
			s_ValueRecObj.value = loObj.value;
			break;
		}		
	}	
}
//获取当前选择的值(允许不全部选择)
function getSelectCurValue(){
	var lsResult = "";
	for(var i=S_AreaSelect.length;i>0;i--){//倒着找
		var loObj = document.getElementById(S_AreaSelect[i-1]);		
		if(loObj!=null && loObj.length>1 && loObj.value!=""){
			lsResult = loObj.value;
			break;
		}		
	}
	return lsResult;
}
//获取当前选择的值(必须选择最低一级)
function getMustSelectValue(){
	var lsResult = "";
	for(var i=S_AreaSelect.length;i>0;i--){//倒着找
		var loObj = document.getElementById(S_AreaSelect[i-1]);		
		if(loObj!=null && loObj.length>1){
			lsResult = loObj.value;
			break;
		}		
	}
	return lsResult;
}

function initSelectDataList(iIndex,strParentValue,strDefaultValue){
	var loTargetSelect = document.getElementById("s_Option_Selct"+(iIndex-1));
	if(loTargetSelect==null) return;
	loTargetSelect.length=0; 
	loTargetSelect.options[0]=new Option("请选择",''); 
	for(var i=0;i<areaArray.length;i++){
		if(areaArray[i][1]==strParentValue){//同一个父级
			loTargetSelect.options[loTargetSelect.length]=new Option(areaArray[i][2],areaArray[i][0]); 
			if(areaArray[i][0]==strDefaultValue){
				loTargetSelect.options[loTargetSelect.length-1].selected = true;
			}
		}
	}	
	if(strParentValue=="0"){//顶级,不需要再迭代		
	}else{		
		initSelectDataList(iIndex-1,getSelctParentId(strParentValue),strParentValue);//继续上一个SELECT框的初始化
	}
}
function getSelctParentId(strValue){	
	var strParentValue = "";
	//查出其上级的VALUE,然后设置
	for(var i=0;i<areaArray.length;i++){
		if(areaArray[i][0]==strValue){
			strParentValue = areaArray[i][1];
			break;
		}
	}
	return strParentValue;
}
function getSelectValueIndex(strValue,iLayer){	
	var iReturnLayer = -1;
	for(var i=0;i<areaArray.length;i++){
		if(areaArray[i][0]==strValue){
			iReturnLayer = 1;
			if(areaArray[i][1]=="0"){
				iLayer = 1;
			}else{
				iLayer = getSelectValueIndex(areaArray[i][1],iLayer+1) + 1;
			}
			break;
		}else{
			
		}
	}
	if(iReturnLayer<0) return -1;
	return iLayer;
}
function setCurSelectValue(strValue){
	if(strValue==""){//没有选择任何值,就使用默认的初始化
		return;
	}
	//初始化
	var iCurIndex = getSelectValueIndex(strValue,1);
	if(iCurIndex<0) return;
	initSelectDataList(iCurIndex,getSelctParentId(strValue),strValue);
	//同时需要设置最后一个选择项的下一级
	if(iCurIndex<S_AreaSelect.length){//还有下一级
		initSelectDataList(iCurIndex+1,strValue,"");
	}
}
initSelectOpt();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -