定义数组,动态装载.
在onChange的时候动态修改select的length和value和text.

解决方案 »

  1.   

    <script language="JavaScript">function validate(theform)
    {
    if (document.input.knowledgeperson.value == "")
    {
                    alert("知识适用人员不能为空");
                    return false;
    }else{
    return true;
    }
    }
    </script>
    <form method="post" name="input" action="" enctype="multipart/form-data" onSubmit="return validate(this)">
    <tr>
    <td bgcolor="#F8F8F8" width="20%">知识适用人员:</td>
    <td bgcolor="#FFFFFF"><select name="knowledgeperson" onChange=changelocation(this.value)>
      <option value="" selected>>>>>请选择<<<<</option>
      <OPTION value='1' >开发人员</OPTION><OPTION value='2' >测试人员</OPTION><OPTION value='3' >通用</OPTION><SCRIPT language=JavaScript>var onecount;onecount=0;subcat = new Array();subcat[0] = new Array(1,'全部阶段');subcat[1] = new Array(1,'可行性分析阶段');subcat[2] = new Array(1,'需求分析阶段');subcat[3] = new Array(1,'概要设计阶段');subcat[4] = new Array(1,'详细设计阶段');subcat[5] = new Array(1,'编码调试阶段');subcat[6] = new Array(1,'单元测试阶段');subcat[7] = new Array(1,'其它');subcat[8] = new Array(2,'全部阶段');subcat[9] = new Array(2,'可行性分析阶段');subcat[10] = new Array(2,'测试计划阶段');subcat[11] = new Array(2,'测试设计阶段');subcat[12] = new Array(2,'测试实施阶段');subcat[13] = new Array(2,'其它');subcat[14] = new Array(3,'全部阶段');onecount=15;function changelocation(locationid){document.input.knowledgeuse.length = 0;var locationid=locationid;var i,flag=0;for (i=0;i < onecount; i++){if (subcat[i][0] == locationid){document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option(subcat[i][1]);flag=1;}}if (flag==0){document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option('>>>>请先选择知识适用人员<<<<');}}</SCRIPT></select></td>
    </tr>
    <tr>
    <td bgcolor="#F8F8F8" width="20%">知识适用阶段:</td>
    <td bgcolor="#FFFFFF">  <select name="knowledgeuse">
      <option value="" selected>>>>>请先选择知识适用人员<<<<</option>
      </select></td>
    </tr>
    <input type="submit" name="topicsubmit" value="提交新知识" tabindex="5">
    </form>*****************
    主要是values笔误,改一下即可