下拉列表中传递多个值

原创 2003年07月23日 22:29:00

 

 

一个下拉列表有许多项,当选择其中某一项时,可以给后一页传递两个参数,该怎么做?
比如:
我在下拉列表选了“国内新闻”这一项,执行FORM后向后页传递两个参数:type="国内新闻",class="2"。
在下拉列表选了“国外新闻”这一项,执行FORM后向后页传递两个参数:type="国外新闻",class="3"。
这该怎么做?

我知道二级联动可以实现,但如果不用二级联动,怎样解决这个问题?

 

 

 

 

form.htm
---------------------------------------------------------
<form name="form1" method="post" action="to.asp">
<select size="1" name="new" ID="Select" onchange="javaScript:document.form1.submit();">
<option selected value="国内新闻,2">国内新闻</option>
<option value="国外新闻,3">国外新闻</option>
</select>
</form>
---------------------------------------------------------

to.asp
--------------------------------------------------------
<%
new=split(request.form("new"),",",2)
Response.Write "type=" & new(1) & ",class=" & new(2)
%>
--------------------------------------------------------

form.htm里下拉列表传值是传一个值,但值里是用‘,’号分隔的两组数据。
to.asp里是将传来的值分解开成new数组,两个数据new(1),new(2)

 

 

 

 

 

 


近来问连动下拉列表的人很多,我就自己做了一个,自己暂时不用,完全是给大家分享的,数据库结构采用常见的省份和城市,数据库结构结构来自csdn某文章,大家可以自己改。有什么意见请提出来,要代码文件和数据库请开贴放分并且留下email。
本文完全VBS制作,结交VBS高手,我用VBS能做出Javascript能做的一切QQ:28963147,email:panyuguang962@sohu.com

Access数据库
●     数据库名:DB_ProvinceCat
●     表名:1)Tb_Province     2)Tb_City
说明:表Tb_Province用来存放省份名称;表Tb_City用来存放相应的城市名称。
●     字段名的设计
1)  表Tb_Province的字段有省份ID号(ProvinceCatID)、省份代码(ProvinceCode)、省份名称(ProvinceName),表1给出了示例:
ProvinceCatID    ProvinceCode     ProvinceName
1                 01          北京市
2                 02          上海市
3                 03          天津市
4                 04          重庆市
5                 05          广东省
6                 06          浙江省
7                 07          福建省
8                 08          海南省
9                 09          江苏省
表1
2)  表Tb_City的字段有城市ID号(CityID)、城市代码(CityCode)、城市名称(CityName),表2给出了示例:

CityID      CityCode     CityName
1           01001       北京市
2           02001       上海市
3           03001       天津市
4           04001       重庆市
5           05001       广州市
6           05002       深圳市
7           05003       珠海市
8           05004       茂名市
9           05005       中山市
10          06001       杭州市
11          06002       温州市
12          07001       福州市
13          07002       厦门市
14          08001       海口市
15          08002       三亚市
16          08003       万宁市
17          08004       五指山市
18          09001       南京市
19          09002       苏州市

表2

说明:这里要注意的一点就是,身份代码要对应城市代码的头两位,数据库尽量不要出现有父亲没儿子的事情。
文件:TwoSelect.asp经简单测试好用!
<HTML>
<HEAD>
<META name=VI60_defaultClientScript content=VBScript>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

</HEAD>
<BODY>
<%
Dim Cn,Rs
Dim SQL,StrDSN
Dim MyArray()
Set cn=Server.CreateObject("ADODB.connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
StrDSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DB_ProvinceCat.mdb")
Cn.Open strDSN
SQL="select * from Tb_Province order by ProvinceCatID"
Rs.Open SQL,cn,3,2
Rs.MoveFirst
redim MyArray(Rs.RecordCount-1)
%>
<table width="273" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="96"> <SELECT id=select1 style="WIDTH: 96px" name=select1>
        <OPTION selected value=select<%=Rs("ProvinceCode")%>><%=Rs("ProvinceName")%></OPTION>
        <%
       MyArray(0)=Rs("ProvinceCode")
      Rs.MoveNext
      for i=1 to Rs.RecordCount-1
      %>
        <OPTION  value=select<%=Rs("ProvinceCode")%>><%=Rs("ProvinceName")%></OPTION>
        <%
      MyArray(i)=Rs("ProvinceCode")
      Rs.MoveNext
       next
      %>
      </SELECT>
      <%
      Rs.Close
      %>
    </td>
    <td width="96">
      <%
      for i=0 to ubound( MyArray)
       SQL="select * from Tb_City  where CityCode like '" &  MyArray(i) & "%'"
       'Response.End
       Rs.Open SQL,cn,3,2
       if Rs.RecordCount >0 then
         Rs.MoveFirst
      %>
      <SELECT id=select<%=MyArray(i)%> style="WIDTH: 96px;display='none'" name=select<%=MyArray(i)%>>
        <%do while not Rs.EOF %>
        <OPTION  value="<%=Rs("CityName")%>"><%=Rs("CityName")%></OPTION>
        <%
      Rs.MoveNext
      loop
      %>
      </SELECT>
      <%
 end if
 Rs.Close
next
%>
<SCRIPT  LANGUAGE=vbscript>
<!--

dim Province,City
dim obj,lastObj
lastObj="select01"
obj="select01"
window.execScript "select01.style.display='block'" ,"vbs"
Province="北京市"
City="北京市"
Sub select1_onchange
 obj=select1.value 
 if obj<>lastObj and isobject(eval(obj)) then 
  window.execScript Obj & ".style.display='block'" ,"vbs"
  window.execScript  lastObj & ".style.display='none'" ,"vbs" 
  Province=select1.options(select1.selectedIndex).innertext
  window.execScript "City=" & Obj & ".value" ,"vbs"
  lastObj=select1.value    
 end if  
End Sub
sub SubMe()
 window.execScript "City=" & Obj & ".value" ,"vbs"
 window.location.href="TwoSelect.asp?Province=" & Province & "&City=" & City
End Sub
-->
</SCRIPT>
    </td>
    <td width="81"><input type="button" name="Submit" value="按钮" onClick="vbs:SubMe"></td>
  </tr>
</table>
</BODY>


</HTML>

 

 

 

 

jsp 下拉框,前后台传值

public String add(){   ObjectMap params=ObjectMap.newInstance();   List rolelist=roleService.list(...
  • fsyyyyy
  • fsyyyyy
  • 2015年04月12日 21:57
  • 2407

【JavaScript】下拉列表select中在value传递多个值,取出其option显示值,并应用此作为导航

对于下拉列表select,众所周知,其值就是选中的option中的value值,可是如果需要取出每一个option的显示值,那又如何做呢?虽然没什么必要取出option的显示值,但是如果有时候确实需要...
  • yongh701
  • yongh701
  • 2015年03月21日 10:50
  • 6990

从数据库动态添加数据到下拉框(select)中

在controller中: @RequestMapping("/type") public String getType(HttpServletRequest req, HttpServletRe...
  • robotfive
  • robotfive
  • 2017年04月24日 23:29
  • 1228

easyui-combobox下拉框传递除valueField和textField之外的第三个值

应用场景:控件easyui-combobox做省市区级联的功能,有一个固有的方法只要给提供上一级的父编号就可以查询到下一级的所有信息(省市区都是通过该方法得到),当市随着省的变话而进行变化时,省必然传...
  • Katherine_rhj
  • Katherine_rhj
  • 2017年06月29日 14:25
  • 2000

select 同时传递多个值

在option的value中用逗号分开,例如下边的例子,后台接收之后,用String的split()方法分割成数组 前台代码:                     ...
  • haha258258
  • haha258258
  • 2016年01月25日 17:31
  • 440

传多个参数到后台

后台  @RequestMapping("/getdzlx")     public @ItemResponseBody QueryResultObject getdzlx(@RequestBod...
  • jiejie11080
  • jiejie11080
  • 2017年01月03日 14:34
  • 214

asp.net frameset里一个frame中获取下拉框、单选框的值并作为参数传递到另一个frame里并显示结果

最近在一个项目中,由于根据需求,需要增加一个概览页面,也就是最高权限用户可以对全局概况有一个总的了解,下面就来简单介绍下,主要是对于其中实现的部分小技巧做一下总结。贴图示例如下:      在这个页面...
  • taomanman
  • taomanman
  • 2010年07月05日 10:08
  • 1856

如何在一个表单中传递多个值

如何在一个表单中传递多个值? 比如说你要给n个人发送一条信息,数据库要保存n条记录,如何在一个发送信息的表单中传递n个人的id呢? ...
  • lisiur
  • lisiur
  • 2016年03月21日 19:26
  • 228

easyui中实现多个下拉列表联动

先看下源码 $(function() { var provinceId = $('#provinceId').combobox({ url : 'provinceActio...
  • seamanjt
  • seamanjt
  • 2014年01月16日 19:48
  • 1887

ajax传递多个参数

$(function () {             $('#Button1').click(function () {                 var username = $...
  • wangjingjing1014
  • wangjingjing1014
  • 2013年05月20日 19:24
  • 8894
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:下拉列表中传递多个值
举报原因:
原因补充:

(最多只允许输入30个字)