兼容ie firefox select 下拉框 无限级联无刷新下拉框 纯javascript

来源:互联网 发布:谷歌娘配音软件 编辑:程序博客网 时间:2024/05/17 23:18

<!-- 呵呵 自己写的 昨天写完今天就对逻辑有点混乱了 中间可能有点很浪费资源的  不过都是在客户端处理 ^V^ 呵呵 没有优化处理的~ 不过凑合能使用的 如果想纵排列换下span 就是了~~   -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
 无标题页
</title></head>
<body>
    <form name="form1" method="post" action="adclass.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJOTU4MjMyMzI1ZGQ=" />
</div>

   
    <div id="srdiv">
        &nbsp;</div>
    </form>
    <script language="javascript" type="text/javascript">

//自己定义的格式,srarray[编号]=["编号","名称","父编号"];从数据库读取
    var srarray=[];srarray[1]=["1","1","0"];srarray[2]=["2","2","0"];srarray[3]=["3","1-1","1"];srarray[4]=["4","1-2","1"];srarray[5]=["5","1-1-1","3"];srarray[6]=["6","3","0"];srarray[7]=["7","1-1-1-1","5"];srarray[8]=["8","1-1-1-2","5"];srarray[9]=["9","1-1-2","3"];srarray[10]=["10","2-1","2"];srarray[11]=["11","2-2","2"];srarray[12]=["12","2-3","2"];srarray[13]=["13","2-3-1","12"];srarray[14]=["14","2-3-1-1","13"];srarray[18]=["18","2-3-1-1-1-1","16"];srarray[16]=["16","2-3-1-1-1","14"];srarray[17]=["17","2-3-1-1-2","14"];srarray[19]=["19","2-3-1-1-1-2","16"];srarray[20]=["20","2-3-1-1-1-3","16"];srarray[21]=["21","2-3-1-1-1-1-1","18"];srarray[22]=["22","2-3-1-1-1-2-1","19"];
    var srvalue="";
    var srint=0;
    var srnumber=0;
   
    function SrGetArray(s)
    {
        var srclassarray=[];
        for(i in srarray)
        {
            if(srarray[i][2]==s)
            {
            srclassarray.push(i);
            if(srint==0)
            {
                srint=i;
            }
            }
        }
        return srclassarray;
    }

    
    
    function srclasslist(s)
    {
        var srstring="";
        var srclassarray=SrGetArray(s);
        if(srclassarray[0])
        {
            var srcount=srclassarray.length;
            srstring="<span id='srdiv"+s+"'><select onchange='srchange(this.value,"+srclassarray[0]+")' name='srselect"+s+"'>";
            for(i=0;i<srcount;i++)
            {
                srstring=srstring+"<option value='"+srarray[srclassarray[i]][0]+"'>"+srarray[srclassarray[i]][1]+"</option>";
            }
            srstring=srstring+"</select>";
           
        }


            return srstring;

    }
   
    function srlist(s)
    {
        srvalue=srvalue+srclasslist(s);
        while(srint!=0)
        {
            srnumber=srnumber+1;
            //var srcarray=srarray[srint][3].split(",");
            //if(srarray[srint][3]!=0)
            var srclassarray=SrGetArray(s);
            if(srclassarray[0])
            {
           
            sri2=srint;
            srint=0;
            srvalue=srvalue+srclasslist(sri2);
            }
            else
            {
               
                srint=0;
            }
       
        }
        for(i=0;i<srnumber;i++)
        {
            srvalue=srvalue+"</span>";
        }
        srnumber=0;
    }
    srlist(0);
    document.getElementById("srdiv").innerHTML=srvalue;
    srvalue="";
   
    function srchange(s,n)
    {
        srvalue="";
        i=0;
         srlist(s);
         if(!document.getElementById("srdiv"+n))
         {
        document.getElementById("srdiv"+srarray[n][2]).innerHTML=document.getElementById("srdiv"+srarray[n][2]).innerHTML+"<span id='srdiv"+n+"'></span>";
        }
        document.getElementById("srdiv"+n).innerHTML=srvalue;
    }
   
 
    </script>
</body>
</html>
 

 

原创粉丝点击