您的位置:首页 > Web前端 > JavaScript

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

2007-08-30 18:34 507 查看
<!-- 呵呵 自己写的 昨天写完今天就对逻辑有点混乱了 中间可能有点很浪费资源的 不过都是在客户端处理 ^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">
 </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
[2]).innerHTML=document.getElementById("srdiv"+srarray
[2]).innerHTML+"<span id='srdiv"+n+"'></span>";
}
document.getElementById("srdiv"+n).innerHTML=srvalue;
}

</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: