首先对于select不进行赋值,其次在改变项目名称的select时在其selectchange事件中加载数值
举例如下:
前提已从数据库获得不同模块的字符串,如项目名称一对应"x,y,z"放入<input type=text id=txt1 value="x,y,z">   项目名称二对应"o,p,q"放入<input type=text id=txt2 value="o,p,q">select1:项目名称  值a,b
select2:模块内容   当select1选a时,有x,y,z;当select2选b时,有o,p,q;
<select id=select1 onchange="select1_change();">
<option value='a'>a</option>
<option value='b'>b</option>
</select>
<select id=select2>
<option value=''></option>
</select>
<script language="javascript">
select1_onchange()
{
   var mokuaiarrayA=document.all.txt1.split(","); 
   var mokuaiarrayB=document.all.txt2.split(",");
   if(select1.selectedIndex==0)//选种a//因假设有两个
   for (var i=0;i<=mokuaiarrayA.length-1;i++)
   {
      var oOption = document.createElement("OPTION");
      oOption.text=mokuaiarrayA[i];
      document.all.select2.add(oOption);
   }   if(select1.selectedIndex==1)//选种b
   for (var i=0;i<=mokuaiarrayB.length-1;i++)
   {
      var oOption = document.createElement("OPTION");
      oOption.text=mokuaiarrayB[i];
      document.all.select2.add(oOption);
   }
      
}
</script>
如有疑问只管提出

解决方案 »

  1.   

    下面一段代码在IE下测试通过,如果是Netscape,需要有改动。<html>
    <head>
    <script language="javascript">
    S = new Array;
    S = [3,2,1];function change()
    {
      f1.s2.value = S[f1.s1.value];
    }
    </script></head>
    <body>
    <form name="f1">
    <select name="s1" onchange="change()">
    <option value="0">value1
    <option value="1">value2
    <option value="2">value3
    </select>
    <select name="s2">
    <option value="1">value1
    <option value="2">value2
    <option value="3">value3
    </select>
    </form>
    </body>
    </html>
      

  2.   

    x86写的是项目名称select与模块名称select均固定,仅使选种内容随着变;
    我写的是模块内容select不固定,其下拉列表内容随着项目名称的变化‘而变化
      

  3.   

    谢谢你们刚吃过饭,没想到这好多的支持率!
    你的意思是我把所有的数据付给某一对象吗?主要原因是项目名称不是关键词,如
    “a x
      a y
      a z
      b o
      b p
      b q"
    我应该首先项目名称作筛选,我向是不是可以把两个字段得值合并为一个字符串,再对这个字符串进行分析?