每次触发select的onChang事件之后相应的控件都会以所选择的值作为参数,然后从数据库取记录 
这个能用javascript 来做吗?

解决方案 »

  1.   

    使用onChange事件的方法,如果数据量不大的话可以在显示页面的时候直接存放在前台,具体思路:
    在显示页面时,按照select中option值得顺序取得文本框中应该显示的值,然后在存储在一个数组中,下面以取得的数据在后台以List存放为例:
    <%
      out.println("<script language='javascript'>");
      out.println("var arrTextValue = new Array("+ list.size() +");");
      for (int i = 0; i < list.size(); i ++) {
        out.println("arrTextValue["+i+"]=" + String(list.get(i)) + ";");
      }
      out.println("</script>");
    %>
    因为arrTextValue的索引和select中值是一一对应的,所以onchange事件的方法如下:
      function setTextValue(){
        var i = document.all("select1").selectedIndex;
        document.all("text1").value = arrTextValue[i];
      }
      

  2.   

    这个问题我也想知道!
    mydeman(漫步者)说的是一种方法!
    但是如果数据量比较大,该怎么实现?而且,我现在碰到的一种情况是有三个下拉列表,分别为A、B、C
    B的值通过A来决定
    C的值通过A、B来决定
    (我们用struts)各位给点思路