今天课上老师讲了一个联动下拉框的demo,
用的是jquery,没连接数据库,是用的JSON数组
研究了一晚上,貌似搞懂了,现在传上源码与jquery入门新手分享
servlet类
package com.newtest;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.newtest.vo.Province;
public class ProvinceAction extends HttpServlet {
/**
* Constructor of the object.
*/
public ProvinceAction() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String oper=request.getParameter("oper");
if(oper==null){
List<Province> list=new ArrayList<Province>();
list.add(new Province(1,"四川"));
list.add(new Province(2,"广东"));
list.add(new Province(3, "湖南"));
request.setAttribute("provinceList", list);
request.getRequestDispatcher("city_pro.jsp").forward(request, response);
}else{
response.setContentType("text/html;charset=gbk");
String id=request.getParameter("provinceId");
System.out.println(id);
if("1".equals(id)){
JSONObject json=new JSONObject();
json.put("id",1);
json.put("name","成都");
JSONObject json2=new JSONObject();
json2.put("id",2);
json2.put("name","遂宁");
JSONObject json3=new JSONObject();
json3.put("id",3);
json3.put("name","乐山");
JSONArray ja = new JSONArray();
ja.add(json);
ja.add(json2);
ja.add(json3);
response.getWriter().println(ja.toString());
}
if("2".equals(id)){
JSONObject json=new JSONObject();
json.put("id",1);
json.put("name","广州");
JSONObject json2=new JSONObject();
json2.put("id",2);
json2.put("name","顺德");
JSONObject json3=new JSONObject();
json3.put("id",3);
json3.put("name","佛山");
JSONArray ja = new JSONArray();
ja.add(json);
ja.add(json2);
ja.add(json3);
response.getWriter().println(ja.toString());
}
if("3".equals(id)){
JSONObject json=new JSONObject();
json.put("id",1);
json.put("name","长沙");
JSONObject json2=new JSONObject();
json2.put("id",2);
json2.put("name","湘潭");
JSONObject json3=new JSONObject();
json3.put("id",3);
json3.put("name","娄底");
JSONArray ja = new JSONArray();
ja.add(json);
ja.add(json2);
ja.add(json3);
response.getWriter().println(ja.toString());
}
}
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
实体类
package com.newtest.vo;
public class Province {
private int id;
private String name;
public Province(int id, String name) {
this.id=id;
this.name=name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="script/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function getCityById(obj){
var id = obj.value;
$.ajax({
url: '<%=path %>/Province',
type:'post',
data:{
provinceId:id,
oper:'get'
},
success:function(data){
var msg = eval('(' + data + ')');
var city = $("#city");
city[0].options.length = 1;
for(var i in msg){
var option = new Option(msg[i]['name'],msg[i]['id']);
city[0].add(option);
}
}
});
}
</script>
</head>
<body>
<center>
<h1>联动下拉框</h1>
<select id="province" onchange="getCityById(this);">
<option value="">--请选择省份--</option>
<c:forEach var="province" items="${requestScope.provinceList}">
<option value="${province.id}">${province.name }</option>
</c:forEach>
</select>
<select id="city">
<option value="">--请选择城市--</option>
</select>
</center>
</body>
</html>
是从servlet类进入,如:http://localhost:8080/test_jquery/Province (/Province是servlet配置的url-pattern)
分享到:
相关推荐
ajax 实现 (全国,省,是,区....) N级联 Demo js: <script type="text/javascript"> $(function () { $.fn.CascadeSelect({ url: '/CascadeSelect/CascadeSelect.ashx', //返回Json数据的一般处理文件 idKey: ...
winform 页面 下拉框 省市联动选择 demo 小功能组件 选择省后,市选项就自动变为该省内的选项
首先,`demo.html`是主展示页面,它包含了HTML结构、CSS样式以及JavaScript脚本,用于实现联动下拉框的功能。HTML部分可能包含两个`<select>`元素,分别代表一级和二级下拉框,每个`<option>`元素则表示具体的选项。...
标题“二级联动demo”表明我们要实现的是一个具有两个级别(一级和二级)的下拉菜单,当用户在第一个下拉框(一级)中做出选择时,第二个下拉框(二级)的内容会相应地更新,展示与一级选择相关的选项。 描述中提到...
在IT行业中,省市联动是一种常见的前端交互功能,它主要用于用户选择省份时,自动更新下拉框中的城市选项,提供更加便捷的用户输入体验。这里我们关注的焦点是使用Jquery来实现这一功能。Jquery是一个高效、简洁且...
这样的设计便于在联动下拉框中按级查找和填充选项。 其次,前端开发中,这个demo可能会使用JavaScript库如jQuery或者现代框架如React、Vue.js来实现。这些库和框架提供了丰富的DOM操作和事件处理功能,使得动态加载...
这个“div模拟下拉框的Demo”就是一个实例,它展示了如何使用HTML、CSS和JavaScript(可能是jQuery或其他库)来创建一个功能齐全且外观可定制的下拉选择组件。 首先,我们要理解原生的`<select>`元素的局限性。原生...
在这个项目中,JavaScript可能被用来监听用户的输入事件,触发AJAX请求,以及处理服务器返回的数据,更新二级联动下拉框的内容。 在提供的压缩包文件“linkage”中,可能包含了整个二级联动的实现代码,包括HTML...
在本例的"三级联动demo"中,我们讨论的是如何使用JavaScript和HTML来实现省市区的选择功能。 首先,HTML部分是构建用户界面的基础。你需要创建三个`<select>`元素,分别代表省、市、区。每个`<select>`元素都需要一...
html 下拉列表 联动选择 展示数据Demo 类似可以实现地址选择
多级联动,支持Ajax动态获取数据并缓存数据,动态生成下级select菜单,设置动态生成"option"第一个条目作为提示项,自动选择唯一选项的菜单,设置回调函数在onChange事件触发时获取下拉菜单相关信息。 详细功能及...
这是一套VUE全家桶的Demo里面有数据来源,和JS代码,4级联动下拉组件,可以随意更改,可二次开发无限极联动。
在“layui地址联动demo”中,我们讨论的是一个典型的前端交互功能,即省市区级联选择。这种功能常见于需要用户输入详细地址的场景,如电子商务、物流配送等。联动指的是当用户在一级选择(如省份)中作出选择时,二...
本文介绍了vue学习之mintui picker选择器实现省市二级联动示例,分享给大家,具体如下: Mint UI 使用文档:https://mint-ui.github.io/docs/#/zh-cn2 Popup弹出框介绍:...
在这个“省市区三级联动demo”中,我们可以深入理解这一功能背后的实现原理和技术细节。 首先,“省市区三级联动”指的是在选择地址时,用户先选择省份,接着选择城市(地级市),最后选择区县,这三个选项之间存在...
`ListViewDemo2.aspx.vb`文件则包含了后台代码,用于处理数据操作和事件响应,例如动态添加行的逻辑和下拉框联动的实现。 总结来说,ASP.NET的ListView控件提供了一种高效且灵活的方式来展示和操作数据,结合动态...
在本主题中,我们主要探讨的是如何利用 Layui 实现一个功能完备的下拉框选择器,支持多选、搜索以及反选功能。 一、Layui Form Selects Layui 的 Form Selects 是一个强大的下拉选择组件,它不仅提供了基本的单选...
本示例“多级联动demo”就是一个具体的实现案例,它提供了无限级联动的可能性,适用于各种需要展示层级关系的场景。 首先,我们要理解多级联动的基本原理。通常,多级联动是通过JavaScript或者Vue、React等前端框架...
jquery实现三级联动的下拉框demo,是一个war包,可以在tomcat中直接运行,也可以自己解压了查看源代码
三级联动是指在三个下拉列表中,当用户在一个下拉框中做出选择时,其他两个下拉框的内容会根据所选值动态更新。例如,在省市区三级联动中,选择一个省份后,市的选项会根据省份自动筛选,接着选择市后,区的选项也会...