JS写的多级联select,求教如何取值

kimjjkkl 2014-12-18 03:24:56
<form action="Provider" method="get">
<div class="sel" align="center">
<select id="sel1" style="width:150px;height: 60px; font-size:22px" ></select></br>
<select id="sel2" style="width:150px;height: 60px; font-size:22px" ></select></br>
<select id="sel3" style="width:150px;height: 60px; font-size:22px" ></select></br>
<select id="sel4" style="width:150px;height: 60px; font-size:22px" ></select></br>
<select id="sel5" style="width:150px;height: 60px; font-size:22px" ></select></br>
</div></br>
<center><input type="submit" name="ok" value="确定"/>
</form>

这个是在HTML文件中的代码,求教确定提交后如何在目标页面取得值。
...全文
202 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kimjjkkl 2014-12-18
  • 打赏
  • 举报
回复
引用 5 楼 u011139317 的回复:
[quote=引用 2 楼 kimjjkkl 的回复:] [quote=引用 1 楼 u011139317 的回复:] 其实select的选取值不管是不是多级联通过select的name就可以取得,给你的每个select都加上不同的name属性 在后台去取就可以了
具体怎么操作呢?[/quote] 不知道你用的是什么, 如果是action的话只要在action里有对应的name的属性并有get和set方法就可以了 如果是servlet的话 String name = request.getParameter("name");这里name就是你在前台设置的name [/quote] 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代码,具体该怎么操作呢?小生赶鸭子上架,对这块实在不熟悉,以前同事写的,现在他走了,东西丢给我。
某某猫 2014-12-18
  • 打赏
  • 举报
回复
引用 2 楼 kimjjkkl 的回复:
[quote=引用 1 楼 u011139317 的回复:] 其实select的选取值不管是不是多级联通过select的name就可以取得,给你的每个select都加上不同的name属性 在后台去取就可以了
具体怎么操作呢?[/quote] 不知道你用的是什么, 如果是action的话只要在action里有对应的name的属性并有get和set方法就可以了 如果是servlet的话 String name = request.getParameter("name");这里name就是你在前台设置的name
kimjjkkl 2014-12-18
  • 打赏
  • 举报
回复
引用 3 楼 bawn 的回复:
每个Select都增加Name的属性 后台获取根据ASP来讲,用request.form(Name值) 就能获取 如果是其它语言就要用当地的写法了。
在servlet里面request没有form(Name值)这个方法啊。
MosquitoWeb 2014-12-18
  • 打赏
  • 举报
回复
每个Select都增加Name的属性 后台获取根据ASP来讲,用request.form(Name值) 就能获取 如果是其它语言就要用当地的写法了。
kimjjkkl 2014-12-18
  • 打赏
  • 举报
回复
引用 1 楼 u011139317 的回复:
其实select的选取值不管是不是多级联通过select的name就可以取得,给你的每个select都加上不同的name属性 在后台去取就可以了
具体怎么操作呢?
某某猫 2014-12-18
  • 打赏
  • 举报
回复
其实select的选取值不管是不是多级联通过select的name就可以取得,给你的每个select都加上不同的name属性 在后台去取就可以了

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧