这个和struts2  没关系。js 操作dom元素。

解决方案 »

  1.   

    可以指点一下吗?现在rptTypes,reports,companies里面分别是从Action后台传来的数据
      

  2.   

    得用ajax百度下ajax三级联动  应该能找到demo
      

  3.   


    问下,三级联动的数据应该是什么样的?我这里rptTypes,reports,companies只是后台传来的三个List
      

  4.   

    url
      

  5.   

    数据传到前台是json格式,遍历.
      

  6.   


    问下,三级联动的数据应该是什么样的?我这里rptTypes,reports,companies只是后台传来的三个List用ajax访问后台 后台把list数据转成json 传到前台 用ajax解析 操作dom 添加下拉框的数据
      

  7.   

    网上的Demo看的晕乎乎了从来没接触过Ajax貌似用JSON比较好实现现在我将数据包装了一下,
    public class selectBean{
        private String typeName;
        private String rptName;
        private String company;
    ……
    }
    现在获取了List<selectBean> selects接下来该转成JSON了,但我已经晕了完全不会JSON
      

  8.   


    google下 list转json  有jar包的  或者看下json的数据格式 自己拼接
    ps:自己拼接有助于你更好的理解json
    类似这样 
    [{"typeName":"tname1","rptName":"rname1","company":"company1"},{"typeName":"tname2","rptName":"rname2","company":"company2"},...]
      

  9.   

    三个List如何转换成json数据呢?类型-->表格-->支公司?
      

  10.   

    有一点点悟了,不过,估计得重新写vo了,上面那个应该不太行{"selectList":[
        {"rptType":"类型1","rpt":[{"n":"rpt1","company":[{"a":"company1"},{"a":"company2"}]},
                                           {"n":"rpt2","company":[{"a":"company1"},{"a":"company2"}]}
                                          ]
        },
       {"rptType":"类型2"}
    ]}应该得拼成这样好晕
      

  11.   


    回复记得引用你不是已经取到 包含类型、表格、支公司信息的list了吗
    第一种方法:你可以找第三方jar包 直接把这个list转成json
    看这个链接
    第二种方法:通过循环list中的数据 自己来拼接json
      

  12.   


    回复记得引用你不是已经取到 包含类型、表格、支公司信息的list了吗
    第一种方法:你可以找第三方jar包 直接把这个list转成json
    看这个链接
    第二种方法:通过循环list中的数据 自己来拼接json按我想的那样的数据,必须得自己拼接了吧?否则没法完成联动下拉框啊..
      

  13.   


    回复记得引用你不是已经取到 包含类型、表格、支公司信息的list了吗
    第一种方法:你可以找第三方jar包 直接把这个list转成json
    看这个链接
    第二种方法:通过循环list中的数据 自己来拼接json刚刚看到另一个博客,现在试一下用另一种方法List<Company> companys = getCompany();
    List<Report> reports = new ...
    Report report = new Report();
    report.setCompanys(companys);
    List<type> types = new ...
    Type type = new Type();
    types.setReports(reports);
    JSONArray jsonArray2 = JSONArray.fromObject( types ); 不知道行不行,在试中,如果有何不对,请指教
      

  14.   


    回复记得引用你不是已经取到 包含类型、表格、支公司信息的list了吗
    第一种方法:你可以找第三方jar包 直接把这个list转成json
    看这个链接
    第二种方法:通过循环list中的数据 自己来拼接json按我想的那样的数据,必须得自己拼接了吧?否则没法完成联动下拉框啊..三级联动的话 你应该得要3个list  而不是把 类型、表格、支公司放在一个list里
    一个list对应一个下拉框 
    第一个下拉框绑定 change事件 选择后 触发ajax请求 把选择的类型id传给后台 后台根据这个id从数据库中获取相应的表格信息list 在把这个list转成json数据  传给前台 前台解析json 生成第二个下拉框 第三个下拉框类似 
      

  15.   


    回复记得引用你不是已经取到 包含类型、表格、支公司信息的list了吗
    第一种方法:你可以找第三方jar包 直接把这个list转成json
    看这个链接
    第二种方法:通过循环list中的数据 自己来拼接json按我想的那样的数据,必须得自己拼接了吧?否则没法完成联动下拉框啊..三级联动的话 你应该得要3个list  而不是把 类型、表格、支公司放在一个list里
    一个list对应一个下拉框 
    第一个下拉框绑定 change事件 选择后 触发ajax请求 把选择的类型id传给后台 后台根据这个id从数据库中获取相应的表格信息list 在把这个list转成json数据  传给前台 前台解析json 生成第二个下拉框 第三个下拉框类似 如果我一次性把数据准备好是不是比这样多次请求数据库好呢?用jar包,我已经能得到如下格式
    [
        {
            "reports": [
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt1"
                }, 
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt2"
                }
            ], 
            "typeName": "type1"
        }, 
        {
            "reports": [
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt1"
                }, 
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt2"
                }
            ], 
            "typeName": "type2"
        }
    ]
      

  16.   

    好不容易得到了需要的JSON串,还是不知道页面脚本怎么写...继续晕
      

  17.   


    回复记得引用你不是已经取到 包含类型、表格、支公司信息的list了吗
    第一种方法:你可以找第三方jar包 直接把这个list转成json
    看这个链接
    第二种方法:通过循环list中的数据 自己来拼接json按我想的那样的数据,必须得自己拼接了吧?否则没法完成联动下拉框啊..三级联动的话 你应该得要3个list  而不是把 类型、表格、支公司放在一个list里
    一个list对应一个下拉框 
    第一个下拉框绑定 change事件 选择后 触发ajax请求 把选择的类型id传给后台 后台根据这个id从数据库中获取相应的表格信息list 在把这个list转成json数据  传给前台 前台解析json 生成第二个下拉框 第三个下拉框类似 如果我一次性把数据准备好是不是比这样多次请求数据库好呢?用jar包,我已经能得到如下格式
    [
        {
            "reports": [
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt1"
                }, 
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt2"
                }
            ], 
            "typeName": "type1"
        }, 
        {
            "reports": [
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt1"
                }, 
                {
                    "companies": [
                        {
                            "companyName": "company1"
                        }, 
                        {
                            "companyName": "company2"
                        }
                    ], 
                    "rptName": "rpt2"
                }
            ], 
            "typeName": "type2"
        }
    ]一次性取完的话 你得把数据库中的相关联字段都取出来 不然你怎么知道 第一个下拉菜单选中后 第二个下拉框要显示哪些数据呢?
      

  18.   


    可以用jquery的each方法 来遍历json  $.each(json,function(index,array) {   //json是你取到的json数据 index是下标0开始 array是对应数据 可以用 array['typename'] 这样取到数据})