请问JSP怎样实现菜单关联啊?就是选择第一个菜单的A内容,就在第二个菜单出现A内容相关系的内容选择~!然后提交数据时将相应的数据插入到相应数据库~!谢谢~!

解决方案 »

  1.   

    <script language="javascript">
    function makeChoice(x){
        var form2=document.compare.choice1.options.length;
        var engines=new Array(form2)
        for(i=0;i<form2;i++)
            engines[i]=new Array();
        engines[0][0]=new Option("google.cn","google.cn");
    engines[0][1]=new Option("google.com","google.com");
                    engines[0][2]=new Option("yahoo.com","yahoo.com");
    engines[0][3]=new Option("sogou","sogou");
                engines[1][0]=new Option("yahoo.com","yahoo.com");
    engines[1][1]=new Option("baidu","baidu");
                    engines[1][2]=new Option("sogou","sogou");
    engines[2][0]=new Option("baidu","baidu");
        engines[2][1]=new Option("sogou","sogou");
    engines[2][2]=new Option("yahoo.com","yahoo.com");
    engines[3][0]=new Option("google.com","google.com");
    engines[3][1]=new Option("baidu","baidu");
                    engines[3][2]=new Option("google.cn","google.cn");
    engines[3][3]=new Option("sogou","sogou");
                engines[4][0]=new Option("baidu","baidu");
                    engines[4][1]=new Option("google.cn","google.cn");
                    engines[4][2]=new Option("google.com","google.com");
    engines[4][3]=new Option("yahoo.com","yahoo.com");
        var choice2=document.compare.choice2;
        for(m=choice2.options.length-1;m>0;m--)
            choice2.options[m]=null;
        for(j=0;j<engines[x].length;j++){
            choice2.options[j]=new Option(engines[x][j].text,engines[x][j].value)
        }
        choice2.options[0].selected=true;
    }
    </script>  <h1>
    搜索引擎返回结果比较
    </h1>
    <form name="compare" action="compareController.jsp" method="post">
    <p>
    <input name="keyword" type="text">
    <select name="choice1" size="1"
    onchange="makeChoice(options.selectedIndex)">
    <option value="0">
    baidu
    </option>
    <option value="1">
    google.com
    </option>
    <option value="2">
    google.cn
    </option>
    <option value="3">
    yahoo.com
    </option>
    <option value="4">
    sogou
    </option> </select>
    <select name="choice2">
    <option value="google.cn">
    google.cn
    </option>
    <option value="google.com">
    google.com
    </option>
    <option value="yahoo.com">
    yahoo.com
    </option>
    <option value="sogou">
    sogou
    </option>
    </select> <input name="submit" value="进行对比" type="submit">
    <p>
    注释:
    <br>
    取前一百条记录进行匹配
    <br>
    </form>
     
      

  2.   

    这个一般而言,现在最流行的方法是通过AJAX技术完成。
    1 在HTML的select元素中添加 onChange()方法例如
    <select id='parent' name='parent' onChange='changChildren(this)'>
    <option value='ParentA'>ParentA</option>
    ...
    </select><select id='children' name='children'>
    </select>2.编写一个Servlet,用以接收数据,并且返回XML。3 用JS实现AJAX,例如在HTML页面上写:
    <script language=javascript>
       function changChildren(){
          var data = ...//用AJAX调用另一个Servlet,并返回结果(此结果就是Servlet返回的XML)
           //解析这个XML
           //填充children元素
       }
    </script>这种实现方法和JSP页面完全脱离,可以解决楼主说得问题。详细的做法可以到网上找一下AJAX的使用案例。
      

  3.   

    静态的用js控制就可以了,动态的需要用到ajax
      

  4.   

    少的js啊,多的ajax,可以让你第一次载入速度快一些
      

  5.   

    跟jsp没必然的联系,要么用纯js,要么用ajax