您的位置:

js调数据库二级联动,js二级联动下拉列表怎么实现

本文目录一览:

二级联动菜单,数据是从数据库的一个表中查询出来的,js显示之后在显示下一条的时候如何清空之前显示的。

这里有一个多级联动下拉select菜单

还可以自己设置默认显示值

里面有代码可以参考

jsp二级联动js参数回填表单的问题

用AJAX

基于Servlet的AJAX

这是一个很常见的UI,当用户在第一个选择框里选择ZHEJIANG时,第二个选择框要出现ZHEJIANG的城市;当用户在第一个选择框里选择JIANGSU时,第二个选择框里要出现JIANGSU的城市。

首先,我们来看配置文件web.xml,在里面配置一个servlet,跟往常一样:

web-app version="2.4"

xmlns=""

xmlns:xsi=""

xsi:schemaLocation="

"

servlet

servlet-nameSelectCityServlet/servlet-name

servlet-classcom.stephen.servlet.SelectCityServlet/servlet-class

/servlet

servlet-mapping

servlet-nameSelectCityServlet/servlet-name

url-pattern/servlet/SelectCityServlet/url-pattern

/servlet-mapping

/web-app

然后,来看我们的JSP文件:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

html

head

titleMyHtml.html/title

meta http-equiv="keywords" content="keyword1,keyword2,keyword3"

meta http-equiv="description" content="this is my page"

!--link rel="stylesheet" type="text/css" href="./styles.css"--

/head

script type="text/javascript"

function getResult(stateVal) {

var url = "servlet/SelectCityServlet?state="+stateVal;

if (window.XMLHttpRequest) {

req = new XMLHttpRequest();

}else if (window.ActiveXObject) {

req = new ActiveXObject("Microsoft.XMLHTTP");

}

if(req){

req.open("GET",url, true);

req.onreadystatechange = complete;

req.send(null);

}

}

function complete(){

if (req.readyState == 4) {

if (req.status == 200) {

var city = req.responseXML.getElementsByTagName("city");

;

var str=new Array();

for(var i=0;icity.length;i++){

str[i]=city[i].firstChild.data;

}

(document.getElementById("city"));

buildSelect(str,document.getElementById("city"));

}

}

}

function buildSelect(str,sel) {

sel.options.length=0;

for(var i=0;istr.length;i++) {

sel.options[sel.options.length]=new Option(str[i],str[i])

}

}

/script

body

select name="state" onChange="getResult(this.value)"

option value=""Select/option

option value="zj"ZEHJIANG/option

option value="zs"JIANGSU/option

/select

select id="city"

option value=""CITY/option

/select

/body

/html

第一眼看来,跟我们平常的JSP没有两样。仔细一看,不同在JS里头。

我们首先来看第一个方法:getResult(stateVal),在这个方法里,首先是取得XmlHttpRequest;然后设置该请求的url:req.open("GET",url, true);接着设置请求返回值的接收方法:req.onreadystatechange = complete;该返回值的接收方法为——complete();最后是发送请求:req.send(null);

然后我们来看我们的返回值接收方法:complete(),这这个方法里,首先判断是否正确返回,如果正确返回,用DOM对返回的XML文件进行解析。关于DOM的使用,这里不再讲述,请大家参阅相关文档。得到city的值以后,再通过buildSelect(str,sel)方法赋值到相应的选择框里头去。

最后我们来看看Servlet文件:

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* @author Administrator

*

* TODO To change the template for this generated type comment go to

* Window - Preferences - Java - Code Style - Code Templates

*/

public class SelectCityServlet extends HttpServlet {

public SelectCityServlet() {

super();

}

public void destroy() {

super.destroy();

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/xml");

response.setHeader("Cache-Control", "no-cache");

String state = request.getParameter("state");

StringBuffer sb=new StringBuffer("state");

if ("zj".equals(state)){

sb.append("cityhangzhou/citycityhuzhou/city");

} else if("zs".equals(state)){

sb.append("citynanjing/citycityyangzhou/citycitysuzhou/city");

}

sb.append("/state");

PrintWriter out=response.getWriter();

out.write(sb.toString());

out.close();

}

}

这个类也十分简单,首先是从request里取得state参数,然后根据state参数生成相应的XML文件,最后将XML文件输出到PrintWriter对象里。

js 二级联动, 参数不同 谢谢

我今天写了一个二级联动的例子,非常简单,你试试看:

script type=text/javascript

var ss1=['名称一','名称二','名称三'];

var ss2=[['规格1.1','规格1.2'],

['规格2.1','规格2.2','规格2.3'],

['规格3.1','规格3.2','规格3.3','规格3.4']];

document.write('选择名称:select name=select1 onChange="chg_select2(this.selectedIndex);"');

document.write('option',ss1.join('option'));

document.write('/selectbr');

document.write('选择规格:select name=select2');

document.write('option',ss2[0].join('option'));

document.write('/selectbr');

function chg_select2(n){

for (i=select2.options.length;i=0;i--) select2.options[i]=null;

for (i=0;iss2[n].length;i++) select2.options[select2.options.length]=new Option(ss2[n][i],ss2[n][i]);

}

/script

在线等高手指教怎么在JSP页面做JS二级联动效果

简单的说下原理吧

第一个下拉框变动,可以调用js的onchange时间,然后清空第二个下拉框,走ajax查询第二个下拉框的所有数据,最后拼到页面上。

js实现的二级联动,修改时,从数据库里读的值给城市赋不了值

JS联动AJAX异步操作的数据库,这是为了显示相应的子类别后,选择最大的一类。

,直接读取数据库不等于显示列表。

js调数据库二级联动,js二级联动下拉列表怎么实现

2022-11-25
js实现二级联动简单实例(js下拉框二级联动)

本文目录一览: 1、怎么用angularJS来实现下图的二级联动啦 2、javascript实现二级联动,比如连个下拉列表,一个选择省份,另一个自动出现相应城市 3、求js二级联动value与显示内容

2023-12-08
js四级联动完整代码,JS二级联动

本文目录一览: 1、javascript如何实现4级联动 2、求用ASP.Net实现一个四级联动的下拉列表 3、求四级联动代码(ASP+JS) 4、求一个JS jquery地区选择的四级联动插件,1.

2023-12-08
跪求js城市四级联动代码,js城市二级联动

本文目录一览: 1、求四级联动代码(ASP+JS) 2、javascript如何实现4级联动 3、根据数据库表格当中的数据怎么设置四级联动 js 求四级联动代码(ASP+JS) !DOCTYPE HT

2023-12-08
php二级联动原理(php二级联动原理怎么写)

2022-11-08
php二级联动,php二级联动菜单

2022-11-22
java三级级联和(java三级联动实现)

2022-11-10
js省份城市二级联动源码(ajax省市区三级联动代码)

本文目录一览: 1、bootstrap-select.js 怎么联动改变,例如:省份,城市二级联动。 2、JS实现一级地区和二级地区联动!求高手改代码!!!万分感谢!!! 3、javascript实现

2023-12-08
Layui二级联动-详解

2023-05-16
php简单实现二级联动(php三级联动代码)

2022-11-15
php二级联动菜单,php三级联动代码

2023-01-04
phpajax二级联动,ajax实现二级联动

2022-12-01
php二级下拉菜单连动有关问题,php下拉框联动

2023-01-07
js绑定下拉框数据库,winform下拉框绑定数据库

本文目录一览: 1、用JS将数据库中的值赋值给下拉列表框的问题 2、JSP页面中,怎样在一个下拉框选项中绑定数据库表字段? 表名DeviceManage 字段:DEVICETYPE 3、JS返回值绑定

2023-12-08
省市区多级联动js代码(html地区三级联动)

本文目录一览: 1、省市县三级联动菜单,JS全国省市县(区)联动,怎样连接到数据库啊? 2、省市区三级联动下拉菜单应该怎么写 3、javascript实现二级联动,比如连个下拉列表,一个选择省份,另一

2023-12-08
java级联,java级联该不该用

2023-01-08
JS下拉列表详解

2023-05-17
省市级联所需数据库mysql版(省市区级联sql)

2022-11-16
layui-select插件如何在网页中实现多级联动选择

2023-05-16
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08