ASP中实现下拉菜单联动
- 格式:doc
- 大小:38.00 KB
- 文档页数:7
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title></head><!--#include file="inc/conn.asp" --><%'首先我们设置数据库=============================================='数据库结构'类别1表名称:a 字段:ID,Name 说明:ID为主键是类别1的ID值,Name为类别1的名称'类别2表名称:aa 字段:ID,aID,Name 说明:ID为主键是类别2的ID值,aID为所属类别1的ID值,Name为类别2的名称'类别3表名称:aaa 字段:ID,aID,aaID,Name 说明:ID为主键是类别3的ID值,aID为所属类别1的ID值,aaID为所属类别2的ID值,Name为类别3的名称%><%response.write"1:"&Request.form("s1")&"<BR>"response.write"2:"&Request.form("s2")&"<BR>"response.write"3:"&Request.form("s3")&"<BR>"%><body><!-- 三级联动菜单开始--><script language="JavaScript"><!--<%'二级数据保存到数组Dim count2,rsClass2,sqlClass2set rsClass2=server.createobject("adodb.recordset")'sqlClass2="select * from aa"sqlClass2="select * from t_city"rsClass2.open sqlClass2,conn,1,1%>var subval2 = new Array();//数组结构:一级根值,二级根值,二级显示值<%count2 = 0do while not rsClass2.eof%>subval2[<%=count2%>] = newArray('<%=rsClass2("proid")%>','<%=rsClass2("cityid")%>','<%=rsClass2("cityname")%>')<%count2 = count2 + 1rsClass2.movenextlooprsClass2.close%><%'三级数据保存到数组Dim count3,rsClass3,sqlClass3set rsClass3=server.createobject("adodb.recordset")'sqlClass3="select * from aaa"sqlClass3="select * from t_area"rsClass3.open sqlClass3,conn,1,1%>var subval3 = new Array();//数组结构:二级根值,三级根值,三级显示值<%count3 = 0do while not rsClass3.eof%>subval3[<%=count3%>] = newArray('<%=rsClass3("cityid")%>','<%=rsClass3("areaid")%>','<%=rsClass3("areaname")%>') <%count3 = count3 + 1rsClass3.movenextlooprsClass3.close%>function changeselect1(locationid){document.form1.s2.length = 0;document.form1.s2.options[0] = new Option('==请选择类别==','');document.form1.s3.length = 0;document.form1.s3.options[0] = new Option('==请选择专题==','');for (i=0; i<subval2.length; i++){if (subval2[i][0] == locationid){document.form1.s2.options[document.form1.s2.length] = newOption(subval2[i][2],subval2[i][1]);}}}function changeselect2(locationid){document.form1.s3.length = 0;document.form1.s3.options[0] = new Option('==请选择专题==','');for (i=0; i<subval3.length; i++){if (subval3[i][0] == locationid){document.form1.s3.options[document.form1.s3.length] = newOption(subval3[i][2],subval3[i][1]);}}}//--></script><form name="form1" method="post" action="test1.asp">三级联动:<%Dim count1,rsClass1,sqlClass1set rsClass1=server.createobject("adodb.recordset")'sqlClass1="select * from a"sqlClass1="select * from t_province"rsClass1.open sqlClass1,conn,1,1%><select name="s1" onChange="changeselect1(this.value)"><option>==请选择频道==</option><%count1 = 0do while not rsClass1.eofresponse.write"<option value="&rsClass1("proid")&">"&rsClass1("proname")&"</option>" count1 = count1 + 1rsClass1.movenextlooprsClass1.close%></select><select name="s2" onChange="changeselect2(this.value)"><option>==请选择类别==</option></select><select name="s3"><option>==请选择专题==</option></select><input type="submit" name="Submit" value="提交"></form><!-- 三级联动菜单结束--></body></html>。
用asp读取Excel文件2008-08-07 22:371.ASP对Excel的基本操作(1) 建立Excel对象创建Excel对象可以通过下面的代码来实现:<%set objExcelApp = CreateObject("Excel.Application") objExcelApp.DisplayAlerts = false '不显示警告objExcelApp.Application = false '不显示界面%>(2) 新建Excel文件新建Excel文件可以通过以下代码来实现:<%objExcelApp.WorkBooks.addset objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.Sheets(1)%>(3) 读取已有的Excel文件读取已有的Excel文件可以通过下面的代码来实现<%strAddr = Server.MapPath(".")objExcelApp.WorkBooks.Open(strAddr & "TempletTable.xls") set objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.WorkSheets(1)%>(4) 另存Excel文件另存Excel文件可以通过以下代码来实现<%objExcelBook.SaveAs strAddr & "templateT ables.xls"%>(5) 保存Excel文件保存Excel文件可以通过以下代码来实现:<%objExcelBook.Save%>(6) 退出Excel操作<%objExcelApp.Quit '一定要退出set objExcelApp = nothing%>2 读取Excel文件的实例strsource = server.MapPath("xl.xls")set xlbook = xlApp.WorkBooks.Open(strsource)set xlsheet = xlbook.Worksheets(1)i = 1response.write "<table>"while xlsheet.cells(i,1) <> ""response.write "<tr>"response.write "<td>" & xlsheet.Cells(i,1) & "</td>"response.write "<td>" & xlsheet.Cells(i,2) & "</td>"response.write "<td>" & xlsheet.Cells(i,3) & "</td>"response.write "<tr>"i = i + 1wendresponse.write "</table>"set xlsheet = nothingset xlbook = nothingxlApp.quit'千万记住要加这一句,否则每运行一次你的机器里就增加一个Excel进程,而且无法释放'set xlApp = nothing 是不行的%>===================================================== ===========3. 怎样将数据从Excel导入到SQL Server中'定义dim myConnectiondim strNamedim rsXsl,rsSqldim myConn_Xsldim cmddim i,jdim maxIdstrName = strFileNameset myConnection = Server.CreateObject("ADODB.Connection")set rsXsl = Server.CreateObject("ADODB.Recordset")set rsSql = Server.CreateObject("ADODB.Recordset")set cmd = server.CreateObject("mand")cmd.ActiveConnection = myConnmyConn_Xsl = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & _ ";Extended Properties=Excel 8.0"'打开连接myconnection.open myConn_Xsl'打开表str_Xsl = "select * from [" & strSheetName & "$]"rsXsl.open str_Xsl,myconnection,1,1j = 1Do while not rsXsl.eof'取出最大值str_sql = "select Max(id) as maxId from exceltosql"rsSql.open str_Sql,myConn,1,3if Not rsSql.eof thenif not isNull(rsSql("maxId")) thenmaxId=CLng(rsSql("maxId")) + 1elsemaxId = 1end ifelsemaxId = 1end ifrsSql.close '//关闭对象'加入数据库str_Sql = "insert into exceltosql values(" & maxId&",'"&rsXsl(1)&"','" & rsXsl(2)&"')"mandText = str_Sqlcmd.Excute()''''''''''''''''''''''''''''''''''''''''''j = j + 1rsXsl.moveNextloopresponse.write "共导入" & j_1 & " 条记录.<br>"response.write "<a href=# >关闭窗口</a>"set rsXsl = nothingset rsSql = nothingset myconnection = nothingset cmd = nothingend sub(2)'调用方法<%file1 = "c:excelexample.xls"myconn = "DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=aspbook" dataIntoSqlServer_ceritificate file1,"sheet1",myconn%>===================================================== ===4.ASP操作Excel技术总结目录一、环境配置二、ASP对Excel的基本操作三、ASP操作Excel生成数据表四、ASP操作Excel生成Chart图五、服务器端Excel文件浏览、下载、删除方案六、附录正文一、环境配置服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:1.Win9x+PWS+Office2.Win2000 Professional+PWS+Office3.Win2000 Server+IIS+Office目前笔者测试成功的环境是后二者。
例谈ASP技术在高中信息技术教学中的应用摘要:技术要为信息技术课程改革服务,该文从教学案例入手,介绍了asp技术在教学课题引入、展开和评价过程中的具体应用,总结出在课堂教学中使用asp技术的一般原则和规律:要以提高课堂教学效率为前提,要充分利用学生信息这个宝贵的数据库。
关键词:asp;数据库;学生信息;案例中图分类号:tp391 文献标识码:a 文章编号:1009-3044(2013)12-2836-042000年以来,随着《中小学信息技术课程指导纲要(试行)》、《普通高中信息技术课程标准(实验稿)》的颁布,全国许多省份陆续开始了信息技术课程改革的实验。
信息技术课堂教学从教学导入、教学展开、教学评价都出现了一些新的变化,最明显的是一些新技术的使用,其中静态网页技术、javascript、asp动态网页技术的使用最为常见。
但是,技术要花在刀刃上,这些新技术能否真正提高课堂教学效率,真正让学生提升信息素养,这是关键。
asp是活动服务器页面(active server pages)的简称,是微软公司开发的服务器端脚本编写环境。
通过asp我们可以结合html网页、asp指令和activex控件建立动态的、交互的、高效的web 服务器应用程序。
asp内置的ado(activexdataobjeet)①服务器组件,用于数据库的连接与访问,它使得客户端应用程序能够通过任何oledb②提供者来访问和操作数据库中的数据。
此外,asp内嵌了五种基本的对象,其中request对象和response对象是使用频率最高的两个对象。
request对象是用于获取用户提交的数据,而response对象用于将服务器端的数据发送到用户的浏览器,结合sql数据库编程语言就能实现信息的动态交互。
笔者曾经多次参加了高中的优质课评比活动,在实践、观摩和交流中觉得,在高中信息技术课堂教学中使用asp技术是当前教学改革的一个发展趋势,它能有效地调动学生学习信息技术的兴趣,并能提高教学的效率。
asp下拉列表控件(转)下拉列表也是Web开发中常⽤的控件之⼀,⽤来从⼀组可选项中选取⼀项。
FineUI中的下拉列表不仅可以通过ASPX标签声明,也可以绑定到各种数据源。
FineUI还根据实际项⽬的需要,扩展了⼀种模拟树的下拉列表。
标签声明的下拉列表1: <ext:DropDownList runat="server" ID="DropDownList1">2: <ext:ListItem Text="选项 1" Value="Value1" Selected="true" />3: <ext:ListItem Text="选项 2(不可选择)" Value="Value2" EnableSelect="false" />4: <ext:ListItem Text="选项 3(不可选择)" Value="Value3" EnableSelect="false" />5: <ext:ListItem Text="选项 4" Value="Value4" />6: </ext:DropDownList>绑定到字符串列表的下拉列表1: <ext:DropDownList runat="server" ID="DropDownList1" Resizable="True">2: </ext:DropDownList>1: protected void Page_Load(object sender, EventArgs e)2: {3: if (!IsPostBack)4: {5: List<string> strList = new List<string>();6: strList.Add("选项 1");7: strList.Add("选项 2");8: strList.Add("选项 3");9: strList.Add("选项 4");10:11: DropDownList1.DataSource = strList;12: DropDownList1.DataBind();13: }14: }绑定到⾃定义类列表的下拉列表1: protected void Page_Load(object sender, EventArgs e)2: {3: if (!IsPostBack)4: {5: List<CustomClass> myList = new List<CustomClass>();6: myList.Add(new CustomClass("1", "选项 1"));7: myList.Add(new CustomClass("2", "选项 2"));8: myList.Add(new CustomClass("3", "选项 3"));9: myList.Add(new CustomClass("4", "选项 4"));10:11: DropDownList1.DataTextField = "Name";12: DropDownList1.DataValueField = "ID";13: DropDownList1.DataSource = myList;14: DropDownList1.DataBind();15: }16: }17:18:19: public class CustomClass20: {21: private string _id;22:23: public string ID24: {25: get { return _id; }26: set { _id = value; }27: }28: private string _name;29:30: public string Name31: {32: get { return _name; }33: set { _name = value; }34: }35:36: public CustomClass(string id, string name)37: {38: _id = id;39: _name = name;40: }41: }绑定到表格的下拉列表1: protected void Page_Load(object sender, EventArgs e)2: {3: if (!IsPostBack)4: {5: DataTable table = new DataTable();6: DataColumn column1 = new DataColumn("MyText", typeof(String)); 7: DataColumn column2 = new DataColumn("MyValue", typeof(String)); 8: table.Columns.Add(column1);9: table.Columns.Add(column2);10:11: DataRow row = table.NewRow();12: row[0] = "选项 1";13: row[1] = "1";14: table.Rows.Add(row);15: row = table.NewRow();16:17: row[0] = "选项 2";18: row[1] = "2";19: table.Rows.Add(row);20:21: row = table.NewRow();22: row[0] = "选项 3";23: row[1] = "3";24: table.Rows.Add(row);25:26: row = table.NewRow();27: row[0] = "选项 4";28: row[1] = "4";29: table.Rows.Add(row);30:31: DropDownList1.DataTextField = "MyText";32: DropDownList1.DataValueField = "MyValue";33: DropDownList1.DataSource = table;34: DropDownList1.DataBind();35: }36: }模拟树的下拉列表很多时候,我们希望在下拉列表中显⽰简单树状的层次结构,在菜单设置、机构设置等场景下这个需求尤为突出。
中,后台动态添加select的options项
申明:转载等请标明出处。
1、工具:VS2010;语言:+HTML;
2、问题:解决动态向前台HTML select控件添加options;
3、原因:在做一个用户修改更新资料的页面时,发现后台事件总是先于JS事件执行,所以后台想要获取select控件当前选中的值时,总是发生“未实例化对象”的错误。
所以我的想法是,将事件全部放在前台或者后台,但是放在前台,后面还要将数据传回后台,懒得麻烦,就索性将事件全部放在后台执行。
4、废话说了一堆了,下面开始吧。
前台代码:(HTML)
<select id="DynamicAdd" runat="server">
</select>
前台代码中:添加一个select控件,注意,一定要加runat="server";
后台代码:()
protected override void OnInit(EventArgs e)
{
int i = 0;
for (i =0; i<10; i++)
{
DynamicAdd.Items.Add(new ListItem(i.ToString()));
}}
代码最后效果图:。
关于下拉菜单(dropdownlist)一些用法心得1.与数据库绑定SqlConnection conn= newSqlConnection(ConfigurationSettings.AppSettings["job"]);//数据库连接信息SqlCommand myCommand = new SqlCommand( "select * from info", conn ); //SQL命令myCommand.Connection.Open(); //打开数据库SqlDataReader myReader = myCommand.ExecuteReader(); //获取数据while ( myReader.Read() ){DropDownList.Items.Add( new ListItem(myReader["depsimplename"].ToString(),myReader["depcode"].ToStri ng()));//增加dropwoenlist项}myCommand.Connection.Close(); //关闭数据库若要指定绑定后的数据选定项可使用DropDownList.Items.FindByText("name").Selected=true或者DropDownList.Items.FindByValue("code").Selected=true另外也可从数据库中获得选定项(比如修改信息的时候)可使用先用数据库填充一个DateSet--ds,然后使用DropDownList.Items.FindByValue/*或者FindByText*/(ds.Tables[0].Rows[0].ItemArray[0].ToString()).Selected =true;2.查询用法对于单个下拉菜单查询我一般直接使用SelectedIndexChanged事件,使用这个事件千万别忘记把下拉菜单的AutoPostBack属性设为true! private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgse){strSQL="select * from info wherename="+DropDownList.SelectedItem.Text;//SQL命令与选项绑定...//再执行这个命令即可}而对于多个下拉菜单联合查询我则使用增加一个按钮,这样更方便private void Button1_Click(object sender, System.EventArgs e) {strSQL="select * from info where name1 like'%"+DropDownList1.SelectedItem.Text+"' and name2 like'%"+DropDownList2.SelectedItem.Text+"' ;//请注意我用的是like Detail=new ();//自己定义的一个类,Detail的返回值是一个datasetinfoDataGrid.DataSource =Detail.Display(strSQL.Replace("全部",""));//联合查询中用户往往不会把使用所有的下拉菜单,所以我加了一个'全部'的选项,不知道你们看到这里明不明白我为什么要使用like了,呵呵infoDataGrid.DataBind();}1.与数据库绑定SqlConnection conn= newSqlConnection(ConfigurationSettings.AppSettings["job"]);//数据库连接信息SqlCommand myCommand = new SqlCommand( "select * from info", conn ); //SQL命令myCommand.Connection.Open(); //打开数据库SqlDataReader myReader = myCommand.ExecuteReader(); //获取数据while ( myReader.Read() ){DropDownList.Items.Add( new ListItem(myReader["depsimplename"].ToString(),myReader["depcode"].ToStri ng()));//增加dropwoenlist项}myCommand.Connection.Close(); //关闭数据库若要指定绑定后的数据选定项可使用DropDownList.Items.FindByText("name").Selected=true或者DropDownList.Items.FindByValue("code").Selected=true另外也可从数据库中获得选定项(比如修改信息的时候)可使用先用数据库填充一个DateSet--ds,然后使用DropDownList.Items.FindByValue/*或者FindByText*/(ds.Tables[0].Rows[0].ItemArray[0].ToString()).Selected =true;2.查询用法对于单个下拉菜单查询我一般直接使用SelectedIndexChanged事件,使用这个事件千万别忘记把下拉菜单的AutoPostBack属性设为true! private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgse){strSQL="select * from info wherename="+DropDownList.SelectedItem.Text;//SQL命令与选项绑定...//再执行这个命令即可}而对于多个下拉菜单联合查询我则使用增加一个按钮,这样更方便private void Button1_Click(object sender, System.EventArgs e) {strSQL="select * from info where name1 like'%"+DropDownList1.SelectedItem.Text+"' and name2 like'%"+DropDownList2.SelectedItem.Text+"' ;//请注意我用的是like Detail=new ();//自己定义的一个类,Detail的返回值是一个datasetinfoDataGrid.DataSource =Detail.Display(strSQL.Replace("全部",""));//联合查询中用户往往不会把使用所有的下拉菜单,所以我加了一个'全部'的选项,不知道你们看到这里明不明白我为什么要使用like了,呵呵infoDataGrid.DataBind();}添加DorpDownList控件的Item子项的三种方法DropDownList控件与ListBox控件最终将会被解析成为代码< select >< /select > DropDownList控件的定义:<asp:DropDownList id="DropDownList1" runat="server"DataSource="<% databindingexpression %>"DataTextField="DataSourceField"DataValueField="DataSourceField"AutoPostBack="True|False"OnSelectedIndexChanged="OnSelectedIndexChangedMethod" /><asp:Listitem value="value" selected="True|False">Text</asp:Listitem></asp:DropDownList>DataSource、DataTextField、DataValueField这三个属性的应用需要涉及DataBind的知识AutoPostBack属性:表示当DropDownList控件的所选项发生改变后,自动提交当前页面OnSeletedIndexChanged事件在DropDownList控件所选项发生变化后发生。
asp心得体会(心得体会,asp)第一篇:asp心得体会学习体会asp学习心得一、准备工作首先,学习asp要有些基本的编程知识.最好先学过点vb java最好因为asp不是一门编程语言而是一个web编程框架.他是利用脚本(vbscript javascript)语言做为编程语言的.如果你不会他们那么至少得会点c.c也不会的话建议你先学下c,虽然并不是一定要先学过编程语言,但是学他对这个的学习是有莫大的好处的.在中,整张web页是放在一张大表单里面的。
如:********网页的具体内容??在这个表单内可能放置了很多html控件如按钮、下拉菜单、文本框等。
提供了一些服务器端web控件。
在服务器上执行的时候,通过一定的条件,web窗体将这些服务器web控件转换为普通的html控件。
比如一个按钮:经过转换后就变成了:在中,一个web窗体被看成了一个对象。
它的数据成员就是那些web控件和你自己定义的变量,它的函数成员就是那些用来响应客户端操作的函数,当然还有你自己定义的函数。
我大致讲一下用户请求一张web页的时候发生了一些什么事件:首先,用户第一次请求页面时,先执行web页的page_init过程,在这里通常对组件进行初始化。
然后执行page_load过程,在这里,我们可以做一些初始化的工作。
比如:设定标签控件的文本为:“初始”。
然后,由于用户是第一次请求页面,所以没有什么其他事件发生。
程序控制转为解释执行html代码页中的服务器代码。
在html中,有一个这就是我们的标签控件。
因为我们在page_load过程中对标签的文本赋值了,所以现在程序在将转换为初始。
而按钮的转换就类似于上面我已经说过内容。
经过这些转换以后,html页内的代码变成了标准的代码。
然后,这些代码被用户浏览器得到了。
经过解析后,用户就可以看到一个“初始”和一个按钮。
现在,用户对着按钮点击了一下。
于是,表单就提交了。
(提交的细节,我下面再说)通过提交的表单,服务器得知这是用户点击了按钮控件。
中DropDownList下拉框列表控件绑定数据的4种⽅法DropDownList Web 服务器控件使⽤户能够从预定义的列表中选择⼀项。
它与 ListBox Web 服务器控件的不同之处在于,其项列表在⽤户单击下拉按钮之前⼀直处于隐藏状态。
另外,DropDownList 控件与 ListBox 控件的不同之处还在于它不⽀持多重选择模式。
DropDownList在html中的呈现对应的是select,下⾯让我们来看⼀下DropDownList绑定数据的⼏种⽅法。
⼀、把Array数组绑到DropDownList复制代码代码如下:string[] Month =new string[7]{ "January", "February", "March", "April", "May", "June", "July" };this.DropDownList1.DataSource = Month;this.DropDownList1.DataBind();这种⽅法只可以绑定⼀组数据到DropDownList,因为DropDownList可以绑定两种数据:1是DataTextField、2是DataValueField,所以第⼀种⽅法绑定后DataTextField的值==DataTextField值。
⼆、把动态Array数组绑定到DropDownList复制代码代码如下:ArrayList ar = new ArrayList();for (int i = 1; i <=12; i++){ar.Add(i+"⽉");}this.DropDownList2.DataSource = ar;this.DropDownList2.DataBind();本质上就是讲1到12⽉加到数组中,如下:复制代码代码如下:ArrayList ar = new ArrayList();ar.Add("1⽉");ar.Add("2⽉");ar.Add("3⽉");ar.Add("4⽉");...this.DropDownList2.DataSource = ar;this.DropDownList2.DataBind();这种⽅法的好处是通过ArrayList.Add的⽅法,可以实现动态添加元素的功能,⽐⽅说,有⼀个DataTable,我们要把DataTable 中⼀⾏的数据读出来添加到Arraylist当中。
三级联动菜单ASP+JS+ACCESS20111018 by荣耀十字弓图一1建筑物、楼层、房间三级选单ASP设计表格如图数据库如图b_id ID号,Access自动编号、主键b_name 名称b_class 级别标识(数值)b_order 上一级的ID号(数值)后面的字段不关键建筑物、楼层和房间都放在一个表中,统一编号,标识出该名称的分类级别,和上一级的ID 号2.选择时候三级联动代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><!--#include file="conn.asp"--><!--#include file="ipadmintop.asp"--><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>子网信息</title><style type="text/css"><!--body {margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;}--></style></head><body><!--#include file="ipaddresstop.asp"--><%'这里是一个返回数据的验证,实际使用中删去就可以if request("action")="dispdata" thenresponse.Write "<Br><Br>Test Return Data:<br>"response.Write "<br>建筑物:"&request.Form("first")response.Write "<br>楼层:"&request.Form("second")response.Write "<br>房间:"&request.Form("third")response.Write "<Br> <Br><a href='?'>Return</a>"end if%><form id="form1" name="form1" method="post" action="?action=dispdata"><%dim cn,rs,secondRS,threeRS,sql,secondJS,threeJSset threeRS=server.CreateObject("adodb.recordset")set secondRS=server.CreateObject("adodb.recordset")set cn=server.CreateObject("adodb.connection")cn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("netAdmin.mdb") set rs=server.CreateObject("adodb.recordset")sql="select * from building_i where b_class=1" '先取顶层的菜单rs.Open sql,cn,0,1,1if rs.BOF thenresponse.Write "没有数据"elsecall OutTopSelcall OutJSArrayend ifrs.Closeset rs=nothingcn.Closeset cn=nothingsub OutTopSel%><select onchange="getSecond(this.value)" id='first' name="first"><option value="">请选择一级菜单</option><%do while not rs.EOFresponse.Write "<option value='"&rs("b_id")&"'>"&rs("b_name")&"</option>"call outJSSecondArray(rs("b_id"))rs.movenextloop%></select><%end sub%><%function outJSSecondArray(secondID)sql="select * from building_i where b_order="&secondIDsecondRS.Open sql,cn,0,1,1if secondRS.EOF thensecondjs=secondjs&"Arr['"&secondID&"']=new Array(new Option('暂时无数据',''));"&vbnewline elsesecondJS=secondjs&"Arr['"&secondID&"']=new Array("&vbnewline&"new Option('请选择二级菜单','')"&vbnewlinedo while not secondRS.EOFsecondjs=secondjs&",new Option('"&secondRS("b_name")&"','"&secondRS("b_id")&"')" &vbnewlinecall outJSThreeArray(secondRS("b_id"))secondRS.MoveNextloopsecondjs=secondjs&");"&vbnewlineend ifsecondRS.Closeend functionfunction outJSThreeArray(threeID)sql="select * from building_i where b_order="&threeIDthreeRS.Open sql,cn,0,1,1if threeRS.EOF thenthreeJS=threeJS&"Arr['"&threeID&"']=new Array(new Option('暂时无数据',''));"&vbnewline elsethreeJS=threeJS&"Arr['"&threeID&"']=new Array("&vbnewline&"new Option('请选择三级菜单','')"&vbnewlinedo while not threeRS.EOFthreeJS=threeJS&",new Option('"&threeRS("b_name")&"','"&threeRS("b_id")&"')"&vbnewline threeRS.MoveNextloopthreeJS=threeJS&");"&vbnewlineend ifthreeRS.Closeend function%><select onchange="getThree(this.value)" id='second' name="second"><option value="">请选择二级菜单</option></select><select id='three' name="third"><option value="">请选择三级菜单</option></select><script type="text/javascript">function getSecond(value){var sec=document.getElementById('second');sec.options.length=0;if(value!=""){for(var i=0;i<Arr[value].length;i++){sec.options.add(Arr[value][i]);}}elsesec.options.add(new Option('请选择二级菜单'));}function getThree(value){var three=document.getElementById('three');three.options.length=0;if(value!=""){for(var i=0;i<Arr[value].length;i++){three.options.add(Arr[value][i]);}}elsethree.options.add(new Option('请选择三级菜单'));}</script><%sub OutJSArrayresponse.Write "<script type=""text/javascript"">"&vbnewline response.Write "var Arr=[];"&vbnewlineresponse.Write secondjs&vbnewlineresponse.Write threeJS&vbnewlineresponse.Write "</script>"end sub%><label><input type="submit" name="Submit" value="提交" /></label></form></body></html>。
jsp从数据库获取数据填充下拉框实现⼆级联动菜单的⽅法本⽂实例讲述了jsp从数据库获取数据填充下拉框实现⼆级联动菜单的⽅法。
分享给⼤家供⼤家参考,具体如下:项⽬告⼀段落,现在将遇到的⽐较实⽤的东西记录下来,写了多遍了,谨记于此,以备查看!1、⾸先在数据库中获取第⼀个下拉框的数据:<s:select listKey="tsFrom" id="t_tsfrom" cssClass="required"listValue="tsFrom" cssStyle="width:90" list="tsfrom1"name="tsFrom" theme="simple" headerKey=""onchange="getTsFromDescribe(this);" headerValue="--请选择--" />后台处理:@Autowiredprivate CustomMaManager custommamanager;//注解相当的好⽤啊,代码都省了⼀⼤截tsfrom1 = custommamanager.getTsFrom();Service://得到投诉来源public List<CustomManage> getTsFrom(){return custommanagedao.getTsFrom();}dao:/**得到产品类型**/public List<CustomManage> getTsFrom(){return this.find("SELECT distinct new CustomManage(tsFrom,'2') FROM CustomManage C WHERE C.tsFrom IS NOT NULL ORDER BY tsFrom ASC"); }注意:Oracle在java代码⾥取出重复值与SqlServer不⼀样,它得使⽤:复制代码代码如下:SELECT distinct new CustomManage(tsFrom,'2') FROM CustomManage C WHERE C.tsFrom IS NOT NULL ORDER BY tsFrom ASC先new实体bean(CustomManage)然后在实体bean中给相应字段设置构造⽅法,不然将会出现后台已经返回了值,但是在前台下拉框中不显⽰,下拉框空⽩的现象。
一、介绍下拉框onchange事件下拉框是网页中常用的表单元素,通过下拉框可以让用户选择其中的一个选项。
而下拉框的onchange事件则是指用户在下拉框中选择一个选项后所触发的事件。
在网页开发中,经常会用到下拉框的onchange事件来实现各种功能,比如根据用户选择的不同选项展示不同的内容、实现联动下拉框等。
二、下拉框onchange事件的基本语法下面是下拉框onchange事件的基本语法:```html<select id="mySelect" onchange="myFunction()"><option value="1">选项一</option><option value="2">选项二</option><option value="3">选项三</option></select><script>function myFunction() {// 在这里编写根据用户选择的选项所触发的功能}</script>```在上面的代码中,当用户在下拉框中选择一个选项后,就会触发id为mySelect的下拉框的onchange事件,然后调用myFunction函数来执行相应的功能。
三、下拉框onchange事件的应用场景1. 根据用户选择的选项展示不同的内容下拉框的onchange事件常用于根据用户选择的选项来展示不同的内容。
比如在一个省市区选择的联动下拉框中,用户选择了某个省份后,根据所选省份的不同来展示该省份下的所有城市选项。
2. 实现下拉框的联动在有多个下拉框的情况下,下拉框的onchange事件可以用于实现下拉框之间的联动。
比如在一个三级联动的省市区选择中,用户选择了某个省份后,就会触发该省份下的市级下拉框的内容进行更新,以实现下级下拉框的联动选择。
ASP中实现下拉菜单联动1.asp+jquery实现下拉菜单联动,代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd" ><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script src="js/jquery-1.7.2.js" type="text/javascript"></script><script language="javascript" type="text/javascript"> $(document).ready(function(){$("#caozuo").click(function(){if($("#caozuo").val()=='暂停办理'){$("#renyuan").hide();}if($("#caozuo").val()=='文稿拟办'){ $("#renyuan").show();$("#submit").show();}if($("#caozuo").val()=='-1'){ $("#renyuan").hide();$("#submit").hide();}})});</script></head><body><table width="618" border="0" cellspacing="0" cellpadding="0"><tr><td height="60"> </td></tr></table><table width="618" border="1" cellspacing="0" cellpadding="0" align="center"><tr bgcolor="#CCCCCC"><td><select id="caozuo"><option value="-1">-请选择-</option><option value="文稿拟办">文稿拟办</option><option value="暂停办理">暂停办理</option></select><select id="renyuan" style="display:none"><option>张三</option><option>李四</option><option>王五</option></select><input type="submit" value="确定" id="submit" style="display:none"/></td></tr></table></body></html>2.asp+javasript实现下拉菜单联动,代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd" ><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script src="js/jquery-1.7.2.js"></script><script language="javascript" type="text/javascript">function xuanze(caozuo){if(caozuo.value=='暂停办理'){document.getElementById("renyuan").style.display="none" ;document.getElementById("queding").style.display="";}if(caozuo.value=='文稿拟办'){document.getElementById("renyuan").style.display="";document.getElementById("queding").style.display="";}if(caozuo.value=='-1'){document.getElementById("renyuan").style.display="none" ;document.getElementById("queding").style.display="none"}}</script></head><body><table width="618" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td height="100"> </td></tr></table><table width="618" border="1" cellspacing="0" cellpadding="0" align="center"><tr bgcolor="#eeeeee"><td height="25"><select id="caozuo" onchange="xuanze(caozuo)"><option value="-1">-请选择-</option><option value="文稿拟办">文稿拟办</option><option value="暂停办理">暂停办理</option></select><select id="renyuan" style="display:none"><option>张三</option><option>李四</option></select><input type="submit" value="确定" id="queding" style="display:none"/></td></tr></table></body></html>。
ASP 导航树菜单
查看文件时,文件的显示方式有很多种,当查看少量的文件时,可以使用列表、图标和平铺的形式实现文件的显示。
当需要查看多个文件时,这种显示方式会相当烦琐,这时可以使用导航树菜单实现文件的显示。
本扩展练习中,将使用DOM技术生成一个导航树菜单。
(1)创建一个命名为daoh.html的HTML页面,用来实现用户注册信息的填写。
左键单击【文件】|【新建】命令,弹出【新建文档】对话框,在对话框的【文件类型】中选择【HTML】,【布局】中选择【无】,单击【创建】按钮。
(2)左键单击【文件】|【保存】命令,弹出另存为对话框。
在对话框的【文件名】中输入daoh.html,【保存类型】的下拉列表框中选择“HTML Documents”,单击【保存(S)】按钮。
(3)在HTML文件中添加JavaScript代码,实现导航菜单的生成。
(5)执行上述代码,结果如图8-24所示。
单击导航菜单中的文件夹,会弹出子文件夹,如图8-25所示。
图8-24 执行结果8-25 执行结果。
ASP中实现下拉菜单联动1.asp+jquery实现下拉菜单联动,代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script src="js/jquery-1.7.2.js" type="text/javascript"></script><script language="javascript" type="text/javascript"> $(document).ready(function(){$("#caozuo").click(function(){if($("#caozuo").val()=='暂停办理'){$("#renyuan").hide();}if($("#caozuo").val()=='文稿拟办'){ $("#renyuan").show();$("#submit").show();}if($("#caozuo").val()=='-1'){ $("#renyuan").hide();$("#submit").hide();}})});</script></head><body><table width="618" border="0" cellspacing="0" cellpadding="0"><tr><td height="60"> </td></tr></table><table width="618" border="1" cellspacing="0" cellpadding="0" align="center"><tr bgcolor="#CCCCCC"><td><select id="caozuo"><option value="-1">-请选择-</option><option value="文稿拟办">文稿拟办</option><option value="暂停办理">暂停办理</option></select><select id="renyuan" style="display:none"><option>张三</option><option>李四</option><option>王五</option></select><input type="submit" value="确定" id="submit"style="display:none"/></td></tr></table></body></html>2.asp+javasript实现下拉菜单联动,代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script src="js/jquery-1.7.2.js"></script><script language="javascript" type="text/javascript"> function xuanze(caozuo){if(caozuo.value=='暂停办理'){document.getElementById("renyuan").style.display="none";document.getElementById("queding").style.display="";}if(caozuo.value=='文稿拟办'){document.getElementById("renyuan").style.display="";document.getElementById("queding").style.display="";}if(caozuo.value=='-1'){document.getElementById("renyuan").style.display="none";document.getElementById("queding").style.display="none"}}</script></head><body><table width="618" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td height="100"> </td></tr></table><table width="618" border="1" cellspacing="0" cellpadding="0" align="center"><tr bgcolor="#eeeeee"><td height="25"><select id="caozuo" onchange="xuanze(caozuo)"><option value="-1">-请选择-</option><option value="文稿拟办">文稿拟办</option><option value="暂停办理">暂停办理</option></select><select id="renyuan" style="display:none"><option>张三</option><option>李四</option></select><input type="submit" value="确定" id="queding" style="display:none"/></td></tr> </table></body> </html>。