http://www.changshainvest.gov.cn/myblog/blogview.asp?logID=49&cateID=2

解决方案 »

  1.   

    我刚实现了这个功能!!!你可以这样:用jsp把你的那个数据库中的东西,读到javascript的数组中去,然后当第一个下拉诓变动的时候onchange事件,动态改变,我得代码如下,不知道你能不能看懂!!
    onchange("se(form1.下拉诓一名字.selectedIndex)")
    你要注意看的是怎么用jsp把数据库中的数据读到javascript中的数组中去,用心看喔!!<script language="javascript">
    <!--
    var thingValue = new Array();
    var thing=new Array();
    <%
       String sss="select 代码项 from DB_ZB where 代码项 like "+Convert.sqlString("1%")+" or 代码项 like"+Convert.sqlString("3%");
       ArrayList listsss=SQLQuery.queryResult(sss);
       out.print("thingValue[0]=new Array(");
       for(int i=0;i<=listsss.size()-2;i++)
       {
        out.print("'"+(String)listsss.get(i)+"',");
       }
       out.println("'"+(String)listsss.get(listsss.size()-1)+"'"+")"+";");
       sss="select 代码项描述 from DB_ZB where 代码项 like "+Convert.sqlString("1%")+" or 代码项 like"+Convert.sqlString("3%");
       listsss=SQLQuery.queryResult(sss);
       out.print("thing[0]=new Array(");
       for(int i=0;i<=listsss.size()-2;i++)
       {
        out.print("'"+(String)listsss.get(i)+"',");
       }
       out.println("'"+(String)listsss.get(listsss.size()-1)+"'"+")"+";");
       sss="select 代码项 from DB_ZB where 代码项 like "+Convert.sqlString("2%");
       listsss=SQLQuery.queryResult(sss);
       out.print("thingValue[1]=new Array(");
       for(int i=0;i<=listsss.size()-2;i++)
       {
        out.print("'"+(String)listsss.get(i)+"',");
       }
       out.println("'"+(String)listsss.get(listsss.size()-1)+"'"+")"+";");
       sss="select 代码项描述 from DB_ZB where 代码项 like "+Convert.sqlString("2%");
       listsss=SQLQuery.queryResult(sss);
       out.print("thing[1]=new Array(");
       for(int i=0;i<=listsss.size()-2;i++)
       {
        out.print("'"+(String)listsss.get(i)+"',");
       }
       out.println("'"+(String)listsss.get(listsss.size()-1)+"'"+")"+";");
    function se(w)
    {
      if(w>=0 && w<=1) {
        document.form1.chargeSector.readonly=true;
        ss1=thingValue[w];
        ss2=thing[w];
        document.form1.chargeSector.length=ss1.length;
        for( var i=0;i<ss1.length;i++) {
          document.form1.chargeSector.options[i].value=ss1[i];
          document.form1.chargeSector.options[i].text=ss2[i];
        }
        document.form1.chargeSector.selected=0;
      }
      if(w>=2) {
        document.form1.chargeSector.readonly=true;
        document.form1.chargeSector.length=1;
        document.form1.chargeSector.options[0].value='8888';
        document.form1.chargeSector.options[0].text='              ';
        var x=window.showModalDialog("newFile.jsp",window);
        //window.open ('newFile.jsp', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');
        document.form1.chargeSector.options[0].value=x;
        document.form1.chargeSector.options[0].text=x;
      }
    }
    </script>