用Javascript实现两个列表框连动

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

//colCls----′óàà?ˉo?

//êy?Y??áD·?ê?£o′óààID-′óàà??

var colCls = new Array();

//colSubCls----?ùóDμ?×óàà?ˉo?

//êy?Y??áD·?ê?£o′óààID-×óààID-×óàà??

var colSubCls = new Array();

<%

Set rsClass = SelectQuery(conn,"select * from t_industrycls",True)

nCount = rsClass.RecordCount

For i=0 To nCount

%>

colCls[<%=i%>] = new Array("<%=rsClass("id")%>","<%=trim(rsClass("name"))%>");

<%

rsClass.MoveNext

If rsClass.Eof Then Exit For

Next

CloseObject rsClass

%>

//subclass

<%

Set rsClass = SelectQuery(conn,"t_industrysubcls",True)

nCount = rsClass.RecordCount

For i=0 To nCount

%>

colSubCls[<%=i%>] = new Array("<%=rsClass("clsid")%>","<%=rsClass("id")%>","<%=trim(rsClass("name"))%>");

<%

rsClass.MoveNext

If rsClass.Eof Then Exit For

Next

CloseObject rsClass

%>

/*

oˉêy??£oInitClsCtrl

1|?ü?μ?÷£o

1?¢ó?′óààIDì?3?id?asNameμ?áD±í?ò

2?¢2¢???D′óààáD±í?ò?Dvalue?anSelIdμ?????

2?êy?μ?÷£o

sName------′óààáD±í?òμ???×?

nSelId-----òa???Dμ?′óààID

*/

function InitClsCtrl(sName,nSelId)

{

var oClass;

oClass = document.getElementById(sName);

var nLen = colCls.length;

while (oClass.options.length>0)

{

oClass.options.remove(0);

}

for (var i = 0; i<nLen; i++)

{

var oOption = new Option(colCls[i][1],colCls[i][0]);

oClass.add(oOption);

}

if (arguments.length<2)

oClass.options[0].selected = true;

else

{

nLen = oClass.length;

for (var i = 0; i<nLen; i++)

{

if (oClass.options[i].value==nSelId)

{

oClass.options[i].selected = true;

break;

}

}

}

}

/*

oˉêy??£oInitSubClsCtrl

1|?ü?μ?÷£o

1?¢ó?ê?óú′óààIDμ?×óààì?3?id?asNameμ?áD±í?ò

2?¢2¢???D×óààáD±í?ò?Dvalue?anSelIdμ?????

2?êy?μ?÷£o

sName------×óààáD±í?òμ???×?

nClsId-----′óààID

nSelId-----òa???Dμ?×óààID

*/

function InitSubClsCtrl(sName,nClsId,nSelId)

{

var oSub;

oSub = document.getElementById(sName);

//??′óààID?anClsIdμ?×óàà?óè?áD±í?ò

var nLenCls = colCls.length;

var nLenSub = colSubCls.length;

if (arguments.length<2)

nClsId = colCls[0][0];

while (oSub.options.length>0)

{

oSub.options.remove(0);

}

for (var i=0; i<nLenCls; i++)

{

for (var j=0; j<nLenSub; j++)

{

if (nClsId == colCls[i][0]&&colCls[i][0]==colSubCls[j][0])

{

var oOption = new Option(colSubCls[j][2],colSubCls[j][1]);

oSub.add(oOption);

}

}

}

if (arguments.length<3)

oSub.options[0].selected = true;

else

{

nLen = oSub.length;

//??ID?anSelIdμ?×óàà???D

for (var j=0; j<nLen; j++)

{

if (nSelId == oSub.options[j].value)

{

oSub.options[j].selected=true;

return;

}

}

}

}

表结构:大类: id,name ---------- 子类 id,clsid,name 使用方法:假设大类列表框id为clsid,子类列表框名为subclsid 先初始化列表框 InitClsCtrl("clsid"); InitSubClsCtrl("subclsid"); 大类列表框的onChange="InitSubClsCtrl('subclsid',this.value)"

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航