我改过的程序,显示过了就不行了. 请高手帮帮忙,或重新给我点思路,谢谢 <script language=javascript>var dept_divi_sect1='<DEPT_DIVI_SECT>'+<% sql="select * from ts_selections where ts_fldid =(select ts_id from ts_fields where ts_name='商品品类' and ts_tableid=1001) and ts_status<>1 order by ts_name" set rs=conncrm.execute(sql) do while not rs.eof %>'<DEPT ID="<%=rs("id")%>" NAME="<%=rs("name")%>">'+ <% sqlpp="exec sel_sppp '"&rs("id")&"'" //这里我做了一个存储过程,加快读取速度 response.write sqlpp set rspp=conncrm.execute(sqlpp) if rspp.eof then else dim pplist pplist=rspp("col") if pplist="" or isnull(pplist) then elsesqlpplist="select * from ts_selections where ts_id in ("&pplist&")" //response.write sqlpplist set rspplist=conncrm.execute(sqlpplist) do while not rspplist.eof %> '<DIVI ID="<%=rspplist("id")%>" NAME="<%=rspplist("name")%>">'+ '</DIVI>'+ <% rspplist.movenext loop end if end if %>
联动的意思也就是在前一个的onchange事件里处理本身的options内容.
并不怎么难,自己写写看呗
请高手帮帮忙,或重新给我点思路,谢谢
<script language=javascript>var dept_divi_sect1='<DEPT_DIVI_SECT>'+<%
sql="select * from ts_selections where ts_fldid =(select ts_id from ts_fields where ts_name='商品品类' and ts_tableid=1001) and ts_status<>1 order by ts_name"
set rs=conncrm.execute(sql)
do while not rs.eof
%>'<DEPT ID="<%=rs("id")%>" NAME="<%=rs("name")%>">'+ <% sqlpp="exec sel_sppp '"&rs("id")&"'" //这里我做了一个存储过程,加快读取速度
response.write sqlpp
set rspp=conncrm.execute(sqlpp)
if rspp.eof then
else
dim pplist
pplist=rspp("col")
if pplist="" or isnull(pplist) then
elsesqlpplist="select * from ts_selections where ts_id in ("&pplist&")"
//response.write sqlpplist
set rspplist=conncrm.execute(sqlpplist)
do while not rspplist.eof
%>
'<DIVI ID="<%=rspplist("id")%>" NAME="<%=rspplist("name")%>">'+ '</DIVI>'+
<%
rspplist.movenext
loop
end if
end if
%>
'</DEPT>'+
<%
rs.movenext
loop
%>'</DEPT_DIVI_SECT>';/*选择类别
id是用于区分同一个页面里多组这样的联动下拉列表框*/
function ChooseDept1(id)
{
var lb;
if(id==0)
lb=form.tagBumylx1;
else
lb=form.tagBumyzlx1;
//用于生成xml的程序文件,
//这里我写了一段示例XML代替,
//如果要加载XML文件,下面就改用load()。
var source = new ActiveXObject('Microsoft.XMLDOM');
source.async = false;
//source.load(sourceName);
source.loadXML(dept_divi_sect1);
root1 = source.documentElement;
sortFieldText1=root1.selectNodes("/DEPT_DIVI_SECT/DEPT/@NAME");
sortFieldValue1=root1.selectNodes("/DEPT_DIVI_SECT/DEPT/@ID");
var oOption = document.createElement('OPTION');
oOption.text = " 无 ";
oOption.value = "-1";
lb.options.add(oOption);
for(var i=0;i<sortFieldText1.length;++i)
{
var oOption = document.createElement('OPTION');
oOption.text = ""+sortFieldText1[i].text+"";
oOption.value = sortFieldValue1[i].text;
lb.options.add(oOption);
}
ChooseDivi1(id);
}
/*选择技能*/
function ChooseDivi1(id)
{
var lb;
var skill;
if(id==0)
{
lb=form.tagBumylx1;
skill=form.tagBumyzlx1;
}
else
{ lb=form.tagBumylx2;
skill=form.tagBumyzlx2;
}
x=lb.selectedIndex;
y=lb.options[x].value;
sortFieldText1=root1.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y+"']/DIVI/@NAME");
sortFieldValue1=root1.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y+"']/DIVI/@ID");
for(var i=skill.options.length-1;i>=0;--i)
{
skill.options.remove(i)
}
var oOption = document.createElement('OPTION');
oOption.text = " 无 ";
oOption.value = "";
skill.options.add(oOption);
for(i=0;i<sortFieldText1.length;++i)
{
var oOption = document.createElement('OPTION');
oOption.text = ""+sortFieldText1[i].text+"";
oOption.value = sortFieldValue1[i].text;
skill.options.add(oOption);
}
}</script>
<body onload=ChooseDept1(0);><form name="form" method="post" action=""> <select name="tagBumylx1" size="1" id="tagBumylx1" onChange=ChooseDivi1(0)>
</select>
<select name="tagBumyzlx1" size="1" id="tagBumyzlx1" >
</select>
</form>