待要实现的功能:页面有两个select下拉列表,从第一个select中选择后,在第二个select中出现对应的列表选择,再从第二个select中选择后,在一个text中显示对应的信息。两个select和text的数据全部来自oracle数据库,该功能用js实现。

首先我们先定义两个select和text:

<select id="department" style="width: 80px" onChange="selectChange(this.value)">
  <option value=''>-请选择-</option>
</select>

这个是第一个select,用来选择员工所在的部门,其中注意后面那个onChange方法。这个就是当你选择了一个选项后,调用函数selectChange(),这个函数是在js里用来实现联动第二个select的。

<select id="empl" style="width: 100px" onChange="showName(this.value)">
<option value=''>-请选择-</option>
</select>

这个是第二个select用来选择员工,在onChange方法中的函数也是在js中自己定义的用来实现在text中显示相应信息的函数。

<input type="text" name="emplInfo" value="这里显示员工信息" size="" maxlength="">

在数据库中有下表:

create table department(
dept_no varchar2(),
dept_name varchar2()
) create table empl_Info(
empl_no varchar2(),
empl_name varchar2(),
dept_no varchar2(),
empl_text varchar2()
)

简单定义了一个,第一张表是部门表,在第一个select中显示,第二个表是员工信息表,在第二个select中显示,然后在text中显示empl_text中的信息。

下面是js中的实现:

array = new Array();
<%
int count = ;
rs=stmt.executeQuery("select e.empl_no, e.empl_name, e.dept_no, e.empl_text from department d, empl_Info e where d.dept_no=e.dept_no order by e.dept_no desc");
String deptno = "";
String emplno = "";
  String emplname = "";
  String empltext = "";
while(rs.next()){
deptno = rs.getString("dept_no");
emplno = rs.getString("empl_no");
emplname = rs.getString("empl_name");
empltext = rs.getString("empl_text");
%>
array[<%=count%>] = new Array("<%=emplno%>","<%=emplname%>","<%=deptno%>","<%=empltext%>");
<%count++;
}
%>

这一步根据需要可以调整,为了举例方便,这是在页面加载时完成的,所以如果数据很多,加载速度有些慢。之后我们要取的数据就可以从array中读取了。

function init(){
document.getElementByIdx_x("department").length = ;
<%
rs=stmt.executeQuery("select * from department order by dept_no desc");
String dno="";
String dname="";
while(rs.next()){
dno= rs.getString();
    dname= rs.getString();%>
document.getElementByIdx_x("department").options[document.getElementByIdx_x("department").length] = new Option("<%=dno%> <%=dname%>");
document.getElementByIdx_x("department").options[document.getElementByIdx_x("department").length-].value="<%=dno%>";
<%}%>
}
function selectChange(id){
document.getElementByIdx_x("empl").length = ;
for(var i = ;i<array.length;i++){
if(array[i][] == id){
document.getElementByIdx_x("empl").options[document.getElementByIdx_x("empl").length] = new Option(array[i][]+ " "+array[i][]);
document.getElementByIdx_x("empl").options[document.getElementByIdx_x("empl").length-].value=array[i][];
}
}
} function showName(id){
document.getElementByIdx_x("emplInfo").value = array[id-][];
}

Js实现select联动,option从数据库中读取的更多相关文章

  1. js 操作select和option

    js 操作select和option 1.动态创建select function createSelect(){ var mySelect = document.createElement_x(&qu ...

  2. JS 获取select(多选下拉)中所选值的示例代码

    通过js获取select(多选下拉)中所选值,具体实现如下,有需要的朋友可以参考下,希望对大家有所帮助 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...

  3. C#从SQL server数据库中读取l图片和存入图片

    原文:C#从SQL server数据库中读取l图片和存入图片 本实例主要介绍如何将图片存入数据库.将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStr ...

  4. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...

  5. [转]asp.net mvc 从数据库中读取图片

    本文转自:http://www.cnblogs.com/mayt/archive/2010/05/20/1740358.html 首先是创建一个类,继承于ActionResult,记住要引用Syste ...

  6. asp.net mvc 从数据库中读取图片的实现代码

    首先是创建一个类,继承于ActionResult,记住要引用System.Web.Mvc命名空间,如下: public class ImageResult : ActionResult { publi ...

  7. Jmeter从数据库中读取数据

    Jmeter从数据库中读取数据 1.测试计划中添加Mysql Jar包 2.添加线程组 3.添加 jdbc connection configuration 4.添加JDBC Request,从数据库 ...

  8. 使用js批量选中功能实现更改数据库中的status状态值(批量展示)

    我们在开发项目的时候经常会在后台管理时用到批量展示功能来动态的修改数据库的值.下面以修改数据库的status状态值来实现批量展示功能.批量选中功能引用js来实现.前端html代码: <table ...

  9. 将 node.js 的数据保存到 mongo 数据库中

    Mongo 数据库 安装 首先到 Mongo 的官方网站下载安装程序:http://www.mongodb.org/,我下载的文件名为:mongodb-win32-x86_64-2008plus-2. ...

随机推荐

  1. APP迁移

    APP架子迁移 在完成上一篇之后,断断续续的开始重构我的Android项目代码,现在终于完成了.在重构期间又仔细阅读了一些开源项目的源码及文章,并询问了一些大神思路,按照理解自己完成了MVP结构的重构 ...

  2. 【译】在Asp.Net中操作PDF – iTextSharp - 使用链接和书签

    原文 [译]在Asp.Net中操作PDF – iTextSharp - 使用链接和书签 用户和PDF文档的交互可以通过锚(链接)和书签进行,接着我前面iTextSharp的系列文章,本篇文章主要讲通过 ...

  3. 基于visual Studio2013解决C语言竞赛题之0801信息输出

     题目

  4. 【剑指offer】字符串转整数

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/28015693 题目描写叙述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函 ...

  5. C++如何屏蔽双击运行程序功能?

    问题描述: 我们开发过程中可能会经常遇到,需要屏蔽EXE的双击运行功能,只能通过宿主程序(Service或EXE)来启动.比如腾讯的迷你弹窗,就只能通过主程序来启动,而不能直接通过双击来运行. 实现原 ...

  6. UVA 10317 - Equating Equations (背包)

    Problem F Equating Equations Input: standard input Output: standard output Time Limit: 6 seconds Mem ...

  7. 经验交流List

    6月10日:登录功能的实现 第1组,郑超,90 第5组,张琳,90 ----------------------------- 6月11日上午:登录优化 第7组,张朋,90 6月11日下午:查询操作实 ...

  8. gdi+ 高速绘制透明窗体

    gdi+ 高速绘制透明窗体: 方法一: 1.用Iamge对象载入png资源, 2.调用drawimage函数讲图片绘制出了 3.UpdateLayeredWindow对窗体进行布局 方法二: 1.用B ...

  9. Linux下编译Qt源码,一定要下载tar.gz版本,否则会报权限不足

    首先下载qt-everywhere-opensource-src-4.8.1源码,下载地址: ftp://ftp.qt-project.org/qt/source/ 在Linux下编译一定要下载qt- ...

  10. Qt递归拷贝和删除目录

    最近在翻看项目代码时,看到了这两个函数,想到这个功能十分常用,因此拿出来与大家分享,希望对大家有用.几点说明: 1.记得当初写代码那会,是参考了网上的帖子写的,做了一点小修改.因此代码源于网络. 2. ...