其实select的选取值不管是不是多级联通过select的name就可以取得,给你的每个select都加上不同的name属性
在后台去取就可以了

解决方案 »

  1.   

    每个Select都增加Name的属性后台获取根据ASP来讲,用request.form(Name值) 就能获取如果是其它语言就要用当地的写法了。
      

  2.   

    在servlet里面request没有form(Name值)这个方法啊。
      

  3.   

    具体怎么操作呢?
    不知道你用的是什么,
    如果是action的话只要在action里有对应的name的属性并有get和set方法就可以了
    如果是servlet的话 String name = request.getParameter("name");这里name就是你在前台设置的name
      

  4.   

    具体怎么操作呢?
    不知道你用的是什么,
    如果是action的话只要在action里有对应的name的属性并有get和set方法就可以了
    如果是servlet的话 String name = request.getParameter("name");这里name就是你在前台设置的name

    var $ = function (id) {
        return "string" == typeof id ? document.getElementById(id) : id;
    };
    function addEventHandler(oTarget, sEventType, fnHandler) {
        if (oTarget.addEventListener) {
            oTarget.addEventListener(sEventType, fnHandler, false);
        } else if (oTarget.attachEvent) {
            oTarget.attachEvent("on" + sEventType, fnHandler);
        } else {
            oTarget["on" + sEventType] = fnHandler;
        }
    };
    function Each(arrList, fun){
        for (var i = 0, len = arrList.length; i < len; i++) { fun(arrList[i], i); }
    };
    function GetOption(val, txt) {
        var op = document.createElement("OPTION");
        op.value = val; op.innerHTML = txt;
        return op;
    };
    var Class = {
      create: function() {
        return function() {
          this.initialize.apply(this, arguments);
        }
      }
    }
    Object.extend = function(destination, source) {
        for (var property in source) {
            destination[property] = source[property];
        }
        return destination;
    }
    var CascadeSelect = Class.create();
    CascadeSelect.prototype = {
      //select集合,菜单对象
      initialize: function(arrSelects, arrMenu, options) {
        if(arrSelects.length <= 0 || arrMenu.lenght <= 0) return;//菜单对象
        var oThis = this;
        this.Selects = [];//select集合
        this.Menu = arrMenu;//菜单对象    
        this.SetOptions(options);    
        this.Default = this.options.Default || [];    
        this.ShowEmpty = !!this.options.ShowEmpty;
        this.EmptyText = this.options.EmptyText.toString();
        
        //设置Selects集合和change事件
        Each(arrSelects, function(o, i){
            addEventHandler((oThis.Selects[i] = $(o)), "change", function(){ oThis.Set(i); });
        });   
        this.ReSet();
      },
      //设置默认属性
      SetOptions: function(options) {
        this.options = {//默认值
            Default:    [],//默认值(按顺序)
            ShowEmpty:    false,//是否显示空值(位于第一个)
            EmptyText:    "请选择"//空值显示文本(ShowEmpty为true时有效)
        };
        Object.extend(this.options, options || {});
      },
      //初始化select
      ReSet: function() { 
        this.SetSelect(this.Selects[0], this.Menu, this.Default.shift());
        this.Set(0);
      },
      //全部select设置
      Set: function(index) {
        var menu = this.Menu  
        //第一个select不需要处理所以从1开始
        for(var i=1, len = this.Selects.length; i < len; i++){
            if(menu.length > 0){
                //获取菜单
                var value = this.Selects[i-1].value;
                if(value!=""){
                    Each(menu, function(o){ if(o.val == value){ menu = o.menu || []; } });
                } else { menu = []; }         
                //设置菜单
                if(i > index){ this.SetSelect(this.Selects[i], menu, this.Default.shift()); }
            } else {
                //没有数据
               this.SetSelect(this.Selects[i], [], "");
            }
        }
        //清空默认值
        this.Default.length = 0;
      },
      //select设置
      SetSelect: function(oSel, menu, value) {
        oSel.options.length = 0; oSel.disabled = false;
        if(this.ShowEmpty){ oSel.appendChild(GetOption("", this.EmptyText)); }
        if(menu.length <= 0){ oSel.disabled = true; return; }    
        Each(menu, function(o){
            var op = GetOption(o.val, o.txt ? o.txt : o.val); op.selected = (value == op.value);
            oSel.appendChild(op);
        });    
      },
      //添加菜单
      Add: function(menu) {
        this.Menu[this.Menu.length] = menu;
        this.ReSet();
      },
      //删除菜单
      Delete: function(index) {
        if(index < 0 || index >= this.Menu.length) return;
        for(var i = index, len = this.Menu.length - 1; i < len; i++){ this.Menu[i] = this.Menu[i + 1]; }
        this.Menu.pop()
        this.ReSet();
      }
    };
    window.onload=function(){
        var menu = [
            
            {'val': '广西自治区', 'menu': [
                {'val': '梧州市', 'menu': [
                    {'val': '万秀区','menu':[
                     {'val':'选择街道'},
                     {'val':'富民街道','menu':[
                     {'val':'选择社区'},
                     {'val':'富康社区'},
                     {'val':'富安社区'}]},
                     {'val':'东兴街道','menu':[
                     {'val':'选择社区'},
                     {'val':'香樟社区'},
                     {'val':'月桂社区'}]},
                     {'val':'角嘴街道','menu':[
                     {'val':'选择社区'},
                     {'val':'蓝天社区'},
                     {'val':'塘源社区'}]},
                     {'val':'城北街道','menu':[
                     {'val':'选择社区'},
                     {'val':'华机社区'},
                     {'val':'桂北社区'}]},
                     {'val':'城中街道','menu':[
                     {'val':'选择社区'},
                     {'val':'冰泉社区'},
                     {'val':'四坊社区'}]}]}
                ]}
            ]}
        ];
        var sel=["sel1", "sel2", "sel3", "sel4", "sel5"];
        var val=["广西自治区"];
        var cs = new CascadeSelect(sel, menu, { Default: val });
    };
    这是JS代码,具体该怎么操作呢?小生赶鸭子上架,对这块实在不熟悉,以前同事写的,现在他走了,东西丢给我。