簡單的java AJAX Json 級聯顯示
1.省級實體類 Province.java
import java.util.List;
public class Province {public Province(int p_ID,String name){
this.p_ID=p_ID;
this.name=name;
}
private int p_ID;
private String name;
List<City> citys;
public int getP_ID() {
return p_ID;
}
public void setP_ID(int p_ID) {
this.p_ID = p_ID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<City> getCitys() {
return citys;
}
public void setCitys(List<City> citys) {
this.citys = citys;
}
}
2.市級實體類 City.java
public class City {
private int c_ID;
private String name;
public City(int c_ID,String name){
this.c_ID=c_ID;
this.name=name;
}
public int getC_ID() {
return c_ID;
}
public void setC_ID(int c_ID) {
this.c_ID = c_ID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3.服務端Servlet select_citys.java
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;
public class select_citys extends HttpServlet {
List<Province> provinces=new ArrayList<Province>();
@Override
public void init() throws ServletException {
List<City> heBei_citys=new ArrayList<City>();
heBei_citys.add(new City(1, "石家莊"));
heBei_citys.add(new City(2, "保定"));
heBei_citys.add(new City(3, "唐山"));
heBei_citys.add(new City(4, "秦皇島"));
heBei_citys.add(new City(5, "邢臺"));
List<City> heNan_citys=new ArrayList<City>();
heNan_citys.add(new City(1, "鄭州"));
heNan_citys.add(new City(2, "洛陽"));
heNan_citys.add(new City(3, "開封"));
heNan_citys.add(new City(4, "新鄉"));
heNan_citys.add(new City(5, "安陽"));
heNan_citys.add(new City(6, "商丘"));
List<City> shanDong_citys=new ArrayList<City>();
shanDong_citys.add(new City(1, "濟南"));
shanDong_citys.add(new City(2, "青島"));
shanDong_citys.add(new City(3, "煙臺"));
shanDong_citys.add(new City(4, "日照"));
shanDong_citys.add(new City(5, "菏澤"));
shanDong_citys.add(new City(6, "聊城"));
shanDong_citys.add(new City(7, "淄博"));
Province heBei=new Province(1,"河北");
heBei.setCitys(heBei_citys);
Province heNan=new Province(2,"河南");
heNan.setCitys(heNan_citys);
Province shanDong=new Province(3,"山東");
shanDong.setCitys(shanDong_citys);
provinces.add(heBei);
provinces.add(heNan);
provinces.add(shanDong);
super.init();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("do doGet");
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int pid=Integer.parseInt(request.getParameter("p_id"));
System.out.println("do doPost "+pid);
StringBuffer sb=new StringBuffer();
sb.append("[{\"CityId\":0,\"CityName\":\"請選擇\"}");
for(int i=0;i<provinces.size();i++){
if(pid==provinces.get(i).getP_ID()){
List<City> citys=provinces.get(i).getCitys();
for(int j=0;j<citys.size();j++){
City city=citys.get(j);
sb.append(",{\"CityId\":"+city.getC_ID()+",\"CityName\":\""+city.getName()+"\"}");
}
break;
}
}
sb.append("]");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.write(sb.toString());
} finally {
out.close();
}
}
}
4.前端index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
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 'index.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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
var xmlHttpRequest;
function createXmlHttpRequest(){
if(window.ActiveXObject){//如果是IE瀏覽器
//alert("是");
return new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){ //非IE瀏覽器
//alert("非");
return new XMLHttpRequest();
}
}
//回撥函式
function callBack(){
if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
var josn = xmlHttpRequest.responseText;
//String轉換為json格式
var resultJson = eval("("+josn+")");
alert(resultJson.length);
var city=document.getElementById("city");
//刪除所有option節點
city.options.length=0;
//刪除某個位置的節點 如下是刪除
//ciy.options.remove(0);
//迴圈新增option節點
for(var i=0;i<resultJson.length;i++){
//city.add(new Option("文字","值")); //這個只能在IE中有效
city.options.add(new Option(resultJson[i].CityName,resultJson[i].CityId)); //這個相容IE與firefox
}
alert("end");
}
}
//觸發事件
function selectCity(provinceNum){
var url="servlet/citys?p_id="+provinceNum; //這裡寫上跳轉的路徑,並把引數傳進去
xmlHttpRequest=createXmlHttpRequest();
xmlHttpRequest.open("POST",url,true); //true是非同步請求
xmlHttpRequest.send(null);
xmlHttpRequest.onreadystatechange=callBack;//指定回撥函式
}
</script>
</head>
<body>
靜態標記:<input type="text">
<form action="">
省份:
<select id="province" onchange="selectCity(this.value)">
<option value="0">請選擇</option>
<option value="1">河北</option>
<option value="2">河南</option>
<option value="3">山東</option>
</select>
市區:
<select id="city">
<option value="0">請選擇</option>
</select>
</form>
</body>
</html>
相關推薦
簡單的java AJAX Json 級聯顯示
1.省級實體類 Province.java import java.util.List; public class Province {public Province(int p_ID,String name){this.p_ID=p_ID;this.name=nam
使用jQuery+ajax實現級下拉列表的級聯顯示
html部分程式碼為下拉列表新增onchange事件 <div class="form-group" style="margin-right: 0">
Ajax 實現級聯下拉框
級聯下拉框隨處可見,最常見的就是省市的級聯,在選擇省份後,對應的區縣的下拉選擇列表的下拉選擇內容也會發生相應改變,即所謂的級聯下拉框。這種頁面非同步重新整理,無可厚非,AJax是首選。 在做一個管理系統時,有這樣一個需求,在選擇了倉庫後,對應的倉位下拉選擇框的內容也需要改變
三、在JSP頁面對LIST物件級聯顯示
<% String path = request.getContextPath(); request.setAttribute("path", path); String provinceJSONString = CommonService.getAllProvinceJSONString(); %&g
ajax寫級聯效果,動態從資料庫獲取資料
要實現的級聯資料的效果是,諮詢方式有多種,有的有子諮詢方式,有的沒有,直接上圖圖一中選擇自選方式,例如:選擇面詢,效果如圖二,後面對應的有面詢的子諮詢方式,有的沒有子諮詢方式,如圖三,沒有子諮詢方式,後面不顯示
angularjs簡單的接收json資料並顯示
<!DOCTYPE html> <html><head><meta charset="utf-8" /><title></title><script type="text/javascript"
一個簡單的ajax獲取json的例子
options pid htm inf query class turn setting lists 一、第一個 html: <div id="ruleList"></div>向div裏添加一段循環輸出的數據 js: $.ajax({
使用postgre數據庫實現樹形結構表的子-父級叠代查詢,通過級聯菜單簡單舉例
with 兼容 rep blank 增刪改 結果 關系型 mssq word 前言:開發常用的關系型數據庫MySQL,mssql,postgre,Oracle,簡單的增刪改查的SQL語句都與標準SQL兼容,這個不用講,那麽對於叠代查詢(不嚴格的叫法:遞歸查詢)每種數據庫都不
Java函數的聯級調用
public println 模仿 incr string類型 級聯 http upper 類型 String類的方法可以連續調用: String str="abc"; String result=str.trim().toUpperCase().concat("defg"
Ajax級聯選擇框
ready goods typeid cti ice turn 名稱 public seve Ajax級聯選擇框 級聯選擇框常用與比較負責的網頁開發,例如實現的商品添加頁面中,需要選擇商品的分類,而分類信息又有層次,例如大分類和小分類就是兩層級聯,在用戶選擇商品所屬大類時
php+jquery+ajax+json的一個最簡單實例
text serial OS .com min TP content meta 姓名 //網站 http://www.cnblogs.com/hjxcode/p/6029781.html<html><head><meta http-equiv=
ajax 2級級聯下拉框
js function getqhlx(){ var business = $("#business").val(); // business = $("#business").find("option:selec
ajax從伺服器端取到json,直接顯示json的元素,卻為undefined的問題
後臺給ajax的返回值為res ,打印出來為{“types”:"ddddd"} ,但是呼叫res.types卻是undefined。。。。。 後來自己定義個res: var j ={"jjj":"ddd"}; alert(res.jjj);卻能取到。這是怎麼回事? 解決問題:
ajax級聯省市區
/*級聯省——》市*/ function showCity(cityGid){ var entity = new Object(); entity.gid = cityGid; if(cityGid!=""){ $("#cityGid").empty(); $.ajax
mysql 級聯刪除 【簡單詳細】
目的:使用 mysql 完成級聯刪除 為什麼寫這篇文章呢?主要是感覺網上寫都太複雜了,什麼原理的。有時候,讀者只是想用最快的速度去解決這個問題。 1、你在建立主外來鍵的時候要加上 ON DELETE CASCADE 這個關
簡單的級聯下拉(作為工作中的一點總結~)
級聯下拉(作為工作中的一點總結~) <script> var codeArr = ["請選擇","CNY","AUD","JPY","USD","HKD","EUR","GBP"]; var nameArr = [["請選擇"],["人民幣"],
根據json資料動態生成無限級聯(demo三層陣列迴圈,形成三級聯動)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> <style&
Ajax提高篇(7)Ajax實現簡單的下拉框聯動顯示資料
頁面中的兩個下拉列表框:<tr> <td style="width: 130px"> 所在學院:</td> <td styl
Java對JSON的簡單操作
JSONArray和JSONObject 基本用法 package com.cloud.test; import net.sf.json.JSONArray; import net.sf.json.
簡單java單例模式(單擊多次,如何讓視窗只顯示一次)
1.將實現功能的建構函式設為private 2.在寫一個public的構造方法: 如下: private static AddPerson addPerson = null; public static synchronized AddPerson GetInstance