如题,请各位多多帮忙

解决方案 »

  1.   

    偶这里有给你点看下function ChangeOptions(a)
    {
    var url = 'Options.jsp';
    var pars = 'fl=' + a ;
    var myAjax = new Ajax.Updater(
    'option', 
    url, 
    {
    method: 'get', 
    parameters: pars
    });
    $("submit1").disabled=false;//提交可用
    } <script>
    document.write("<div id ='load'>正在加载....</div>");
    </script>
    <script language="JavaScript" src="../MzTreeView10/MzTreeView10.js"></script>
    <script language="JavaScript" src="../date/CalendarSelector.js"></script>
    <script language="JavaScript" src="../js/myJSFrame.js"></script>
    <script language="JavaScript" src="../js/prototype.js"></script>
    <script language="JavaScript" src="../js/deptsearch.js"></script>
    <script language="JavaScript" src="../js/dragdrop.js"></script>
    <link href="../css/tree.css" type="text/css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/ajaxwaiting.css">
    <link rel="stylesheet" type="text/css" href="../css/css.css">
    <style type="text/css">
    table.t1{
    border:1px solid #cad9ea;
    color:#666;
    vertical-align: top;
    text-align: right;
    }
    table.t1 th {
    background-image: url(../Image/th_bg1.gif);
    background-repeat::repeat-x;
    height:30px;
    vertical-align: middle;
    text-align: center;
    }
    table.t1 td,table.t1 th{
    border:1px solid #cad9ea;
    padding:0 1em 0;
    }
    table.t1 tr.a1{
    background-color:#f5fafe;
    }
    </style>
      </head>
      
      <body>
    <script language='JScript'> 
    <!--
    var strHtml=new StringBuffer();
    strHtml.append("<div id=\"win\" style=\"height:240;width:200;overflow:auto;background:#FFFFFF;\">");
    var s = new MzTreeView("s");
    s.setIconPath("../TreeView/");
    s.wordLine = false;
    s.nodes["-1_1"] = "text:单位信息;method:shows(0);";              
            <%
        String sql = "select dwdm,case substring(dwdm,1,(len(dwdm)-2)) when  '' then '1' else substring(dwdm,1,(len(dwdm)-2)) end p_dwdm, dwmc from dw$ order by str(dwdm)";
        sqlbean.executeQuery(sql);
    while(sqlbean.next()){
    %>  
    //父id,子id     
         s.nodes["<%=sqlbean.getData(2).trim()%>_<%=sqlbean.getData(1).trim()%>"] = 'text:<%=sqlbean.getData(3).trim()%>;method:shows("<%=sqlbean.getData(1).trim()%>")';        

         <%
    }
        %>
    strHtml.append(s.toString());
    function shows(id){
    $('deptid').value=id;
    }
    strHtml.append("</div>");
    strHtml.append("<table width=\"100%\" border=\"0\"><tr>");
    strHtml.append("<td>请选择收入日期区间<input type=hidden name=\"deptid\" id=\"deptid\" value=\"0\"></td></tr>");
    strHtml.append("<tr><td>从<INPUT id=Date1 style=\"WIDTH: 70px\" readOnly maxLength=10 name=b_date value=\"2006-10-31\">");
    strHtml.append("<IMG onclick=\"setday(this,Date1,2000,2010,'yyyy-MM-dd')\" src=\"../date/button.gif\" align=absMiddle></td></tr>");
    strHtml.append("<tr><td>到<INPUT id=Date2 style=\"WIDTH: 70px\" readOnly maxLength=10 name=e_date value=\"2006-10-31\">");
    strHtml.append("<IMG onclick=\"setday(this,Date2,2000,2010,'yyyy-MM-dd')\" src=\"../date/button.gif\" align=absMiddle></td></tr>");
    strHtml.append("<tr><td><label>");
    strHtml.append("<input type=\"checkbox\" name=\"checkbox\" id=\"check1\" value=\"checkbox\" onclick=\"d_check(this.checked)\"/>");
    strHtml.append("按收入属性统计</label></td></tr><tr><td><label>");
    strHtml.append("<select name=\"example\" size=\"1\" id=\"id1\" disabled onChange=\"ChangeOptions(this.value)\">");
    strHtml.append("<option value=\"0\">未分类</option><option value=\"1\">管理方式</option><option value=\"2\">收入性质</option>");
    strHtml.append("</select></label></td></tr>");
    strHtml.append("<tr><td><label>选择属性</label></td></tr> <tr><td><div id=\"option\">");
    strHtml.append("<select name=\"stage2\" id=\"id2\" size=\"1\" disabled><option value=\"0\">未分类</option>");
    strHtml.append("</select></div></td>");
    strHtml.append("</tr><tr><td><label><input type=\"checkbox\" name=\"type\" id=\"stype\" value=\"0\" />");
    strHtml.append("包含未审核收入</label></td></tr><tr>");
    strHtml.append("<td height=\"33\" align=\"center\" valign=\"middle\"><label>");
    strHtml.append("<input type=\"button\" name=\"Submit\" id =\"submit1\" value=\"提交\"  onclick=\"checkDate()\"/>");
    strHtml.append("<input type=\"button\" name=\"Submit2\" value=\"返回\" onclick=\"history.back(-1);\" />");
    strHtml.append("</label></td></tr></table>");
     
    function initialize(){  
    var b = new xWin("2",200,500,0,0,"查询界面",strHtml.toString()); 

    window.onload = initialize; 
    //--> 
    </script>
    options.jsp<%
    String fl=request.getParameter("fl");
    String strTable="";
    if(!"0".equalsIgnoreCase(fl)){
    if("1".equals(fl)){
    strTable="jc_zjglfs";
    }else if("2".equals(fl)){
    strTable="jc_sfxz";
    }else if("3".equals(fl)){
    strTable="jc_sf_type";
    }
    ResultSet rs =sqlbean.executeQuery(" select * from "+strTable+" ");
    %>
    <select name="srxz" id="id2" size="1">
    <%
    while(rs.next()){
     %>
    <option value="<%=rs.getString(1) %>"><%=rs.getString(2) %></option>
    <%
    }
     %>
    </select>
    <%
    }else{
     %>
    <select name="srxz" id="id2" size="1">
    <option value="0">未分类</option>
    </select>
    <%} %>
      

  2.   

    http://topic.csdn.net/u/20071101/19/d2621a39-1d8a-4cee-8b19-0f577159fb26.html
      

  3.   

    HTML code<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>多级联动菜单</title><script type="text/javascript">
    var xmlHttp;        //用于保存XMLHttpRequest对象的全局变量
    var targetSelId;    //用于保存要更新选项的列表id
    var selArray;       //用于保存级联菜单id的数组//用于创建XMLHttpRequest对象
    function createXmlHttp() {
        //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
        if (window.XMLHttpRequest) {
           xmlHttp = new XMLHttpRequest();                  //FireFox、Opera等浏览器支持的创建方式
        } else {
           xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
        }
    }//获取列表选项的调用函数
    function buildSelect(selectedId, targetId) {
        if (selectedId == "") {                             //selectedId为空串表示选中了默认项
            clearSubSel(targetId);                          //清除目标列表及下级列表中的选项
            return;                                         //直接结束函数调用,不必向服务器请求信息
        }
        targetSelId = targetId;                             //将传入的目标列表id赋值给targetSelId变量
        createXmlHttp();                                    //创建XmlHttpRequest对象
        xmlHttp.onreadystatechange = buildSelectCallBack;   //设置回调函数
        xmlHttp.open("GET", "select_menu.jsp?selectedId=" + selectedId, true);
        xmlHttp.send(null);
    }//获取列表选项的回调函数
    function buildSelectCallBack() {
        if (xmlHttp.readyState == 4) {
            var optionsInfo = eval("("+xmlHttp.responseText+")");           //将从服务器获得的文本转为对象直接量
            var targetSelNode = document.getElementById(targetSelId);
            clearSubSel(targetSelId);                                    //清除目标列表中的选项
            //遍历对象直接量中的成员
            for (var o in optionsInfo) {
                targetSelNode.appendChild(createOption(o, optionsInfo[o])); //在目标列表追加新的选项
            }
        }
    }//根据传入的value和text创建选项
    function createOption(value, text) {
         var opt = document.createElement("option");                        //创建一个option节点
         opt.setAttribute("value", value);                                  //设置value
         opt.appendChild(document.createTextNode(text));                    //给节点加入文本信息
         return opt;
    }//清除传入的列表节点内所有选项
    function clearOptions(selNode) {
        selNode.length = 1;                                                 //设置列表长度为1,仅保留默认选项
        selNode.options[0].selected = true;                                 //选中默认选项
    }//初始化列表数组(按等级)
    function initSelArray() {
        selArray = arguments;                                               //arguments对象包含了传入的所有参数
    }//清除下级子列表选项
    function clearSubSel(targetId) {
        var canClear = false;                                               //设置清除开关,初始值为假
        for (var i=0; i<selArray.length; i++) {                             //遍历列表数组
            if (selArray[i]==targetId) {                                    //当遍历至目标列表时,打开清除开关
                canClear = true;
            }
            if (canClear) {                                                 //从目标列表开始到最下级列表结束,开关始终保持打开
                clearOptions(document.getElementById(selArray[i]));         //清除该级列表选项
            }
        }
    }
    </script>
    </head><!-- 页面加载完毕做两件事:1.初始化列表数组 2.为第一个列表赋值 -->
    <body onload="initSelArray('selA','selB','selC');buildSelect('INIT', 'selA')">
    <h1>多级联动菜单</h1>
    <table>
    <tr>
        <td>列表A</td>
        <td>
            <select name="selA" id="selA" onchange="buildSelect(this.value, 'selB')">
                <option value="" selected>------请选择------</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>列表B</td>
        <td>
            <select name="selB" id="selB" onchange="buildSelect(this.value, 'selC')">
                <option value="" selected>------请选择------</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>列表C</td>
        <td>
            <select name="selC" id="selC">
                <option value="" selected>------请选择------</option>
            </select>
        </td>
    </tr>
    </table>
    </body>
    </html>
      

  4.   

    Java code
    不好意思,忘记给你发java中的代码!现在发给你!记得给我加分哦!如果有什么不明白,可以给我写信!我的油箱:[email protected]
    在这段代码里,是把查询到的数据包在一个字符串数组中
    {'value':'name','value1':'name1','value2':'name2',............}
    这样在返回到客户端的时候是一个xmlHttp.responseText
    其实在java代码里我们也可以把查询出的数据写到一个xml文件里,然后
    在客户端接受xmlHttp.responseXml<%@ page contentType="text/plain; charset=UTF-8"%>
    <%@ page language="java"%>
    <%@ page import="java.sql.*,ajax.db.DBUtils"%>
    <%!
        //访问数据库取得下级选项信息
        String getOptions(String selectedId) {
            int counter = 0;                            //计数器
            StringBuffer opts = new StringBuffer("{");  //保存选项信息
            String sql = "select * from select_menu where pid = ? order by seq asc";//定义查询数据库的SQL语句
            Connection conn = null;                 //声明Connection对象
            PreparedStatement pstmt = null;         //声明PreparedStatement对象
            ResultSet rs = null;                    //声明ResultSet对象
            try {
                conn = DBUtils.getConnection();     //获取数据库连接
                pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
                pstmt.setString(1, selectedId);     //设置参数
                rs = pstmt.executeQuery();          //执行查询,返回结果集
                while (rs.next()) {                 //遍历结果集
                    //如果不是第一项,追加一个“,”用于分隔选项
                    if (counter > 0) {
                        opts.append(",");
                    }
                    opts.append("'");
                    opts.append(rs.getString("id"));
                    opts.append("':'");
                    opts.append(rs.getString("text"));
                    opts.append("'");
                    counter++;                      //计数器加1
                }
            } catch (SQLException e) {
                System.out.println(e.toString());
            } finally {
                DBUtils.close(rs);         //关闭结果集
                DBUtils.close(pstmt);      //关闭PreparedStatement
                DBUtils.close(conn);       //关闭连接
            }
            opts.append("}");
            return opts.toString();
        }
    %>
    <%
        out.clear();                                            //清空当前的输出内容(空格和换行符)    String selectedId = request.getParameter("selectedId"); //获取selectedId参数
        String optionsInfo = getOptions(selectedId);            //调用getOptions方法取得下级选项信息    out.print(optionsInfo);                                 //输出下级选项信息
    %>