<form   name="myform" method="post" action="myform">
<select name="categoryid"   style="font-size:14px; width:100px;"   size="8" onChange="changelocation(document.myform.categoryid.options[document.myform.categoryid.selectedIndex].value);">
<option value="FL01" selected>757一中队</option> 
<option value="FL02">信息部</option> 
<option value="FL04">人事部</option> 
<option value="FL03">一中队</option> 
<option value="FL08">二中队</option> 
<option value="FL17">三中队</option> 
</select> 
<select name="classid" style="font-size:14px;width:100px" size="8">
</select>
</form><script language="JavaScript">   function changelocation(id)
     {
 
    var onecount;   
   onecount=0;   
   subcat =new Array(4096);
<% 
int count;
String dep = request.getParameter("categoryid");
%>
alert("<%=dep%>");
<%
String sql0="select * from salfoc.T3017 where dep_code='"+dep+"'";
ResultSet rs0=stmt.executeQuery(sql0);  
count=0;
while(rs0.next())

%>
subcat[<%=count%>] = new Array("<%=rs0.getString(1)%>","<%=rs0.getString(2)%>","<%=rs0.getString(3)%>"); <%
count=count+1;
}
rs0.close();
%>
onecount=<%=count%>;
 
     document.myform.classid.length = 0;      var id=id;     var i;
     for (i=0;i<onecount; i++)  
         {
             if (subcat[i][1] ==id) 
             { 
    document.myform.classid.options[document.myform.classid.length] = new Option(subcat[i][2], subcat[i][0]); 
             }        
         }
        
     }    
</script>
select name="categoryid"  我用ONCHANGE来执行JS,想不刷新页面获部门的值取值,从而查询数据库进行比较,取出相关部门的信息.关键就是红色部分,我知道这样写不对.也用alert显示值为空.并没有传过来,我怎么才能实现点哪个option,他的value就会传到下面的String dep之中呢?

解决方案 »

  1.   

    用jsp语言一般都要刷新,你只能用JavaScript语言连接数据库了.
      

  2.   

    ajax吧。因为本页面上没有请求,所以request取不到值啊,
    不过js可以轻松得到的
      

  3.   

    恩,js可以轻松得到。但是jsp无法调用js定义的变量。有什么办法可以解决我的问题,未必一定要不刷新页面。主要以功能为主。
      

  4.   

    那些部门的数据多吗?不多的话就一步都查出来
    然后用js控制显示
    多的话就要用ajax了
      

  5.   

    楼上说到点子上了,正是因为数据很多。一步查询的话就报错,所以才按部门来查询。我不知道什么是ajax,怎么使用,需要什么软件或者什么配置求助呢
      

  6.   

    怎么使用ajax。。代码如何编写
      

  7.   

    都建议用ajax。刚才自己也看了下ajax有什么用处。。但具体代码怎么写呢?
      

  8.   

    上网搜下 很多ajax的例子 
      

  9.   

    http://download.csdn.net/source/277291
      

  10.   

    没有人能给出确切些的代码吗?都只说ajax,我初学jsp..真的不了解。..
      

  11.   

    ajax和js都可以。lz想用ajax的话,可以看看这个,很适合ajax的初学者!!
    http://download.csdn.net/source/783041
      

  12.   


    <script type="text/javascript">
    function changelocation(){
    document.getElementById("show").value = (document.getElementById("categoryid").value);
    }
    </script>
    <form action="">
    <select id="categoryid" onchange="changelocation()">  
        <option value="757一中队" selected>757一中队</option> 
    <option value="信息部">信息部</option> 
    <option value="人事部">人事部</option> 
    <option value="一中队">一中队</option> 
    <option value="二中队">二中队</option> 
    <option value="三中队">三中队</option>
    </select> 
        <input id="show" type="text" />
      </form>
      

  13.   


    <html>
      <head>
        
        <title></title>

        <script type="text/javascript">
    function changelocation(){
    document.getElementById("show").value = document.getElementById("categoryid").value;
    }
        </script>
      </head>
      
      <body>
      <form action="">
    <select id="categoryid" onchange="changelocation()">  
       <option value="757一中队" selected>757一中队</option> 
       <option value="信息部">信息部</option> 
       <option value="人事部">人事部</option> 
       <option value="一中队">一中队</option> 
       <option value="二中队">二中队</option> 
       <option value="三中队">三中队</option>
    </select> 
        <input id="show" type="text" />
      </form>
      </body>
    </html>
    拿去试试
      

  14.   

    楼上的是能获得"categoryid"的value,但还是在js内,我的关键是在jsp中调用"categoryid"的value,但页面又没有提交...看了一天ajax..大概知道它是支持异步提交的了...就是还不知道怎么编写相关代码
      

  15.   

    不懂就去学,你还指望有人给你一个现成的啊!
    Ajax必须学会,哪怕先用1周熟悉也行。

      

  16.   

    在大家的督促下学习了几天AJAX,终于完成动态级联了..现在又有新要求了..第2级菜单生成的人员下拉列表按照名字排序,若是数据库中有相关信息,人名字段显示红色.排序的问题我应该能解决...显示红色....代码该怎么写呢?因为第2级下拉菜单是用js生成的..不是html上的静态select...望指教~