欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Ajax實現(xiàn)省市區(qū)三級級聯(lián)(數(shù)據(jù)來自mysql數(shù)據(jù)庫)

Ajax實現(xiàn)省市區(qū)三級級聯(lián)(數(shù)據(jù)來自mysql數(shù)據(jù)庫)

熱門標簽:機器人電銷騙局揭秘 硅語電話機器人公司 越南河內(nèi)地圖標注 云呼外撥網(wǎng)絡(luò)電話系統(tǒng) 騰訊地圖標注位置能用多久 超級大富翁地圖標注 ai機器人電銷資源 地圖標注項目怎么樣 個人怎樣在百度地圖標注地名

實現(xiàn)Ajax實現(xiàn)省市區(qū)三級級聯(lián),需要Java解析json技術(shù)
整體Demo下載地址如下: 點我下載

address.html

!DOCTYPE html>
html>
head>
meta charset="UTF-8">
title>Insert title here/title>
/head>

 script type="text/javascript">

  /** 
   * 得到XMLHttpRequest對象 
   */
  function getajaxHttp() {
   var xmlHttp;
   try {
    // Firefox, Opera 8.0+, Safari 
    xmlHttp = new XMLHttpRequest();
   } catch (e) {
    // Internet Explorer 
    try {
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
     try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (e) {
      alert("您的瀏覽器不支持AJAX!");
      return false;
     }
    }
   }
   return xmlHttp;
  }
  /** 
   * 發(fā)送ajax請求 
   * url--請求到服務(wù)器的URL 
   * methodtype(post/get) 
   * con (true(異步)|false(同步)) 
   * functionName(回調(diào)方法名,不需要引號,這里只有成功的時候才調(diào)用) 
   * (注意:這方法有二個參數(shù),一個就是xmlhttp,一個就是要處理的對象) 
   */
  function ajaxrequest(url, methodtype, con, functionName) {
   //獲取XMLHTTPRequest對象
   var xmlhttp = getajaxHttp();
   //設(shè)置回調(diào)函數(shù)(響應(yīng)的時候調(diào)用的函數(shù))
   xmlhttp.onreadystatechange = function() {
    //這個函數(shù)中的代碼在什么時候被XMLHTTPRequest對象調(diào)用?
    //當(dāng)服務(wù)器響應(yīng)時,XMLHTTPRequest對象會自動調(diào)用該回調(diào)方法
    if (xmlhttp.readyState == 4) {
     if (xmlhttp.status == 200) {
      functionName(xmlhttp.responseText);
     }
    }
   };
   //創(chuàng)建請求
   xmlhttp.open(methodtype, url, con);
   //發(fā)送請求
   xmlhttp.send();
  }

  window.onload=function(){
   ajaxrequest("addressSerlvet?method=provincial","POST",true,addrResponse);
  }
  //動態(tài)獲取省的信息
  function addrResponse(responseContents){
   var jsonObj = new Function("return" + responseContents)();
   for(var i = 0; i  jsonObj.addrList.length;i++){
    document.getElementById('select').innerHTML += 
     "option value='"+jsonObj.addrList[i].id+"'>"
      +jsonObj.addrList[i].address+
     "/option>"
   }
  }
  //選中省后
  function pChange(){
   //先將市的之前的信息清除
   document.getElementById('selectCity').innerHTML="option value='-1'>請選擇市/option>";
   //再將區(qū)的信息清除
   document.getElementById('selectArea').innerHTML="option value='-1'>請選擇區(qū)/option>";
   //再將用戶的輸入清楚
   document.getElementById("addr").innerHTML="";
   var val = document.getElementById('select').value;
   if(val == -1){
    document.getElementById('selectCity')[0].selected = true;
    return;
   }
   //開始執(zhí)行獲取市
   ajaxrequest("addressSerlvet?method=cityprovincial="+val,"POST",true,cityResponse);
  }
  //獲取市的動態(tài)數(shù)據(jù)
  function cityResponse(responseContents){
   var jsonObj = new Function("return" + responseContents)();
   for(var i = 0; i  jsonObj.cityList.length;i++){
    document.getElementById('selectCity').innerHTML += 
     "option value='"+jsonObj.cityList[i].id+"'>"
      +jsonObj.cityList[i].address+
     "/option>"
   }
  }
  //選中市以后
  function cChange(){
   var val = document.getElementById('selectCity').value;
   //開始執(zhí)行獲取區(qū)
   ajaxrequest("addressSerlvet?method=areacityId="+val,"POST",true,areaResponse);
  }
  //獲取區(qū)的動態(tài)數(shù)據(jù)
  function areaResponse(responseContents){
   var jsonObj = new Function("return" + responseContents)();
   for(var i = 0; i  jsonObj.areaList.length;i++){
    document.getElementById('selectArea').innerHTML += 
     "option value='"+jsonObj.areaList[i].id+"'>"
      +jsonObj.areaList[i].address+
     "/option>"
   }
  }
  //點擊提交按鈕
  function confirM(){
   //獲取省的文本值
   var p = document.getElementById("select");
   var pTex = p.options[p.options.selectedIndex].text;
   if(p.value=-1){
    alert("請選擇省");
    return;
   }
   //獲取市的文本值
   var city = document.getElementById("selectCity");
   var cityTex = city.options[city.options.selectedIndex].text;
   if(city.value=-1){
    alert("請選擇市");
    return;
   }
   //獲取區(qū)的文本值
   var area = document.getElementById("selectArea");
   var areaTex = area.options[area.options.selectedIndex].text;
   if(area.value=-1){
    alert("請選擇區(qū)");
    return;
   }
   //獲取具體位置id文本值
   var addr = document.getElementById("addr").value;
   //打印
   document.getElementById("show").innerHTML = "您選擇的地址為 " + pTex + " " + cityTex + " " + areaTex + " " + addr;
  }

 /script>
body>
 select id="select" onchange="pChange()">
  option value="-1">請選擇省/option>
 /select>
 select id="selectCity" onchange="cChange()">
  option value='-1'>請選擇市/option>
 /select>
 select id="selectArea" onchange="aChange()">
  option value='-1'>請選擇市/option>
 /select>
 input type="text" id="addr" />
 button onclick="confirM();">確定/button>
 div id="show">/div>
/body>
/html>

AddressServlet.java

package cn.bestchance.servlet;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.bestchance.dao.AddressDao;
import cn.bestchance.dao.impl.AddressDaoImpl;
import cn.bestchance.entity.Address;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

@WebServlet("/addressSerlvet")
public class AddressSerlvet extends HttpServlet {
 private static final long serialVersionUID = 1L;
 private AddressDao dao = new AddressDaoImpl();

 protected void doGet(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  doPost(request, response);
 }

 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
  *  response)
  */
 protected void doPost(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {

  response.setCharacterEncoding("utf-8");
  response.setContentType("text/html;charset=utf-8");
  String method=request.getParameter("method");
  if("provincial".equals(method)){
   getProvincial(request, response);
  }
  if("city".equals(method)){
   getCity(request, response);
  }
  if("area".equals(method)){
   getArea(request, response);
  }
 }
 /**
  * 根據(jù)市id獲取該市下的區(qū)的全部信息
  * @param request
  * @param response
  * @throws ServletException
  * @throws IOException
  */
 protected void getArea(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {

  String cityId = request.getParameter("cityId");
  // 從數(shù)據(jù)庫中查詢省的信息
  ArrayListAddress> areaList = dao.getAreaByCityId(Integer.parseInt(cityId));
  // 將集合轉(zhuǎn)成json字符串
  JSONObject jsonObj = new JSONObject();
  JSONArray jsonArray = JSONArray.fromObject(areaList);
  jsonObj.put("areaList", jsonArray);
  String jsonDataStr = jsonObj.toString();

  response.getWriter().print(jsonDataStr);
 }
 /**
  * 獲取省的信息 并相應(yīng)
  * @param request
  * @param response
  * @throws ServletException
  * @throws IOException
  */
 protected void getProvincial(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {

  // 從數(shù)據(jù)庫中查詢省的信息
  ArrayListAddress> addrList = dao.getProvince();
  // 將集合轉(zhuǎn)成json字符串
  JSONObject jsonObj = new JSONObject();
  JSONArray jsonArray = JSONArray.fromObject(addrList);
  jsonObj.put("addrList", jsonArray);
  String jsonDataStr = jsonObj.toString();
  response.getWriter().print(jsonDataStr);
 }
 /**
  * 獲取市的信息并相應(yīng)
  * @param request
  * @param response
  * @throws ServletException
  * @throws IOException
  */
 protected void getCity(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {

  String provinceId = request.getParameter("provincial");
  // 從數(shù)據(jù)庫中查詢省的信息
  ArrayListAddress> addrList = dao.getCityByProvinceId(Integer.parseInt(provinceId));

  // 將集合轉(zhuǎn)成json字符串
  JSONObject jsonObj = new JSONObject();
  JSONArray jsonArray = JSONArray.fromObject(addrList);
  jsonObj.put("cityList", jsonArray);
  String jsonDataStr = jsonObj.toString();

  response.getWriter().print(jsonDataStr);
 }

}

AddressDao.java

package cn.bestchance.dao;

import java.util.ArrayList;

import cn.bestchance.entity.Address;

public interface AddressDao {
 /**
  * 獲取省的id和名稱
  * @return
  */
 ArrayListAddress> getProvince();
 /**
  * 根據(jù)省的id獲取市的信息
  * @param provinceId
  * @return
  */
 ArrayListAddress> getCityByProvinceId(int provinceId);
 /**
  * 根據(jù)市的id獲取區(qū)的信息
  * @param cityId
  * @return
  */
 ArrayListAddress> getAreaByCityId(int cityId);
}

AddressDaoImpl.java

package cn.bestchance.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import cn.bestchance.dao.AddressDao;
import cn.bestchance.entity.Address;
import cn.bestchance.util.DBUtil;

public class AddressDaoImpl implements AddressDao {
 private DBUtil db = new DBUtil();
 @Override
 public ArrayListAddress> getProvince() {
  ArrayListAddress> addrList = new ArrayListAddress>();
  db.openConnection();
  String sql = "select * from province";
  ResultSet rs = db.excuteQuery(sql);
  try {
   while(rs.next()){
    Address addr = new Address();
    addr.setId(rs.getInt(2));
    addr.setAddress(rs.getString(3));
    addrList.add(addr);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   if(rs != null){
    try {
     rs.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   db.closeResoure();
  }
  return addrList;
 }
 @Override
 public ArrayListAddress> getCityByProvinceId(int provinceId) {
  ArrayListAddress> addrList = new ArrayListAddress>();
  db.openConnection();
  String sql = "select * from city where fatherID = " + provinceId; //431200
  ResultSet rs = db.excuteQuery(sql);
  try {
   while(rs.next()){
    Address addr = new Address();
    addr.setId(rs.getInt(2));
    addr.setAddress(rs.getString(3));
    addrList.add(addr);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   if(rs != null){
    try {
     rs.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   db.closeResoure();
  }
  return addrList;
 }
 @Override
 public ArrayListAddress> getAreaByCityId(int cityId) {
  ArrayListAddress> addrList = new ArrayListAddress>();
  db.openConnection();
  String sql = "select * from area where fatherID = " + cityId; //431200
  ResultSet rs = db.excuteQuery(sql);
  try {
   while(rs.next()){
    Address addr = new Address();
    addr.setId(rs.getInt(2));
    addr.setAddress(rs.getString(3));
    addrList.add(addr);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   if(rs != null){
    try {
     rs.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   db.closeResoure();
  }
  return addrList;
 }

}

實體類Address.java

package cn.bestchance.entity;

public class Address {
 @Override
 public String toString() {
  return "Address [id=" + id + ", address=" + address + "]";
 }
 private int id;
 private String address;
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getAddress() {
  return address;
 }
 public void setAddress(String address) {
  this.address = address;
 }
 public Address() {
  super();
  // TODO Auto-generated constructor stub
 }
 public Address(int id, String address) {
  super();
  this.id = id;
  this.address = address;
 }

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP+Mysql+Ajax+JS實現(xiàn)省市區(qū)三級聯(lián)動
  • java AJAX實現(xiàn)級聯(lián)下拉框
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 實現(xiàn)2級聯(lián)動下拉菜單
  • Ajax二級聯(lián)動菜單實現(xiàn)原理及代碼
  • ASP.NET Ajax級聯(lián)DropDownList實現(xiàn)代碼
  • 一個強健 實用的asp+ajax二級聯(lián)動菜單(有演示和附源程序打包下載)
  • asp.net省市三級聯(lián)動的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例
  • 前臺JS(jquery ajax)調(diào)用后臺方法實現(xiàn)無刷新級聯(lián)菜單示例
  • 落伍首發(fā) php+mysql 采用ajax技術(shù)的 省 市 地 3級聯(lián)動無刷新菜單 源碼
  • Ajax+Json 級聯(lián)菜單實現(xiàn)代碼

標簽:遼源 鄭州 林芝 海南 舟山 內(nèi)蒙古 邢臺 洛陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Ajax實現(xiàn)省市區(qū)三級級聯(lián)(數(shù)據(jù)來自mysql數(shù)據(jù)庫)》,本文關(guān)鍵詞  Ajax,實現(xiàn),省市區(qū),三級,級聯(lián),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ajax實現(xiàn)省市區(qū)三級級聯(lián)(數(shù)據(jù)來自mysql數(shù)據(jù)庫)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Ajax實現(xiàn)省市區(qū)三級級聯(lián)(數(shù)據(jù)來自mysql數(shù)據(jù)庫)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产日韩欧美电影| 亚洲愉拍自拍另类高清精品| 日韩av不卡一区二区| 女人扒开腿免费视频app| 91插插插插插插| 国产偷v国产偷v亚洲高清| 美女网站色91| 亚洲av无码国产精品久久| 99视频在线精品| 天天操天天操天天操天天操天天操| 久久蜜臀中文字幕| 久久电影网站中文字幕| 受虐m奴xxx在线观看| 精品久久五月天| 麻豆精品久久精品色综合| 国精产品一区一区三区免费视频| 91精品啪在线观看国产60岁| 午夜精品视频在线观看| 日韩www视频| 国产无人区一区二区三区| 亚洲一区二区综合| 欧美图片自拍偷拍| 欧美久久一二三四区| 亚洲第一电影网| 人体私拍套图hdxxxx| 日韩欧美一区电影| 久久国产精品72免费观看| 99在线视频免费| 国产精品无人区| 丁香婷婷综合色啪| 日本精品一区二区三区高清| 亚洲一区视频在线| 粉嫩av懂色av蜜臀av分享| 精品入口麻豆88视频| 极品尤物av久久免费看| 国产日产精品一区二区三区的介绍| 国产精品久久久久久久久久免费看| 粉嫩av一区二区三区在线播放 | 99re这里只有| 91精品久久久久久蜜臀| 麻豆精品新av中文字幕| 美女福利视频网| 亚洲视频一区二区在线| 少妇献身老头系列| 欧美大片一区二区| 国产成人亚洲精品狼色在线| 在线中文字幕一区| 日韩精品亚洲专区| 一区二区三区在线播放视频| 亚洲欧洲中文日韩久久av乱码| 欧美性生交xxxxx| 精品国产三级a在线观看| 国产.精品.日韩.另类.中文.在线.播放| 色琪琪一区二区三区亚洲区| 午夜a成v人精品| 337人体粉嫩噜噜噜| 亚洲丝袜自拍清纯另类| 日本三级日本三级日本三级极| 精品福利二区三区| 99九九99九九九视频精品| 日本激情视频一区二区三区| 亚洲卡通动漫在线| 中国美女乱淫免费看视频| 国产精品久久一级| 好男人香蕉影院| 中文字幕乱码亚洲精品一区| 中文字幕永久免费| 国产亚洲一区二区三区四区| 91麻豆免费看| 久久毛片高清国产| 日本55丰满熟妇厨房伦| 久久毛片高清国产| 国产av一区二区三区传媒| 国产校园另类小说区| 极品白嫩少妇无套内谢| 国产午夜亚洲精品午夜鲁丝片| 野花视频免费在线观看| 国产日韩精品一区二区浪潮av| 精品无码av一区二区三区| 国产一区二区三区久久悠悠色av| 国产精品无码一区二区三| 国产精品久久久久久久岛一牛影视 | 7777精品伊人久久久大香线蕉超级流畅| 九九**精品视频免费播放| 欧美在线free| 国产成人在线看| 日韩一区二区在线观看| 91在线精品一区二区| 久久综合国产精品| 北京富婆泄欲对白| 中文字幕一区二区在线播放| 六月婷婷七月丁香| 亚洲韩国一区二区三区| 四虎影院中文字幕| 九色综合狠狠综合久久| 91 com成人网| 91视频在线观看| 中文字幕国产精品一区二区| 高潮毛片无遮挡| 五月婷婷综合激情| 在线观看亚洲专区| 成人精品一区二区三区四区| 久久免费电影网| 法国伦理少妇愉情| 亚洲成a人v欧美综合天堂| 色呦呦日韩精品| 国产suv精品一区二区6| 久久久久免费观看| 国产美女精品久久| 肉丝袜脚交视频一区二区| 欧美三级在线看| 99久久综合色| 国产精品久久久久精k8| 亚洲天堂精品一区| 精品一区二区影视| 欧美电影免费观看高清完整版在线观看| 韩国av中国字幕| 一区二区三区资源| 91成人在线精品| 99久久婷婷国产| 亚洲视频电影在线| 欧美卡一卡二卡三| 不卡区在线中文字幕| 国产精品久久久久影视| 亚洲伦理一区二区三区| 国产xxx精品视频大全| 国产亚洲va综合人人澡精品| 久久精品三级视频| 国内精品伊人久久久久av一坑| 精品国产伦一区二区三区免费| 醉酒壮男gay强迫野外xx| 青青草91视频| 欧美mv日韩mv| 亚洲天堂岛国片| 国产在线精品一区二区| 久久久久亚洲综合| 麻豆精品国产免费| 成人高清视频在线| 亚洲免费观看高清完整版在线| 91精品办公室少妇高潮对白| 91丨九色porny丨蝌蚪| 一二三四社区欧美黄| 欧美美女一区二区在线观看| 国内精品写真在线观看| 国产肉丝袜一区二区| 日本免费网站视频| 一本一道波多野结衣一区二区| 天天av天天翘天天综合网色鬼国产| 欧美嫩在线观看| 巨胸大乳www视频免费观看| 久久电影国产免费久久电影| 国产欧美日韩综合精品一区二区| 国产在线免费看| 成人app网站| 亚洲一区二区偷拍精品| 欧美一卡二卡三卡| 国产伦理片在线观看| 国产福利一区二区三区视频在线| 国产精品国产馆在线真实露脸| 在线中文字幕一区二区| 中文字幕免费高清视频| 久久国产尿小便嘘嘘| 国产精品美女久久久久aⅴ国产馆| 五月婷婷一区二区三区| 精品人妻在线视频| 激情五月激情综合网| 国产精品视频观看| 欧美三级资源在线| 蜜桃av免费看| 成人性生交大片免费看中文| 一区二区三区在线免费视频| 日韩一区二区三区精品视频| 天天干天天操天天拍| 91在线视频播放| 青青草国产成人av片免费| 亚洲国产精品精华液ab| 欧美丝袜自拍制服另类| caopeng视频| 99久久婷婷国产| 老司机一区二区| 亚洲欧洲精品天堂一级| 欧美放荡的少妇| 三级黄色在线观看| 久久精品aⅴ无码中文字字幕重口| 精一区二区三区| 亚洲精品写真福利| www欧美成人18+| 欧美在线视频你懂得| 欧美 日韩 国产 成人 在线观看| 波多野结衣一区二区三区 | 色综合一个色综合| 7788色淫网站小说| 国产成人夜色高潮福利影视| 一区二区三区.www| 久久久久国产一区二区三区四区| 欧美伊人精品成人久久综合97 | 91片在线免费观看| 精品在线观看视频| 亚洲一区二区高清| 国产欧美日韩三级|