婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ajax實現省市區三級級聯(數據來自mysql數據庫)

Ajax實現省市區三級級聯(數據來自mysql數據庫)

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

實現Ajax實現省市區三級級聯,需要Java解析json技術
整體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;
  }
  /** 
   * 發送ajax請求 
   * url--請求到服務器的URL 
   * methodtype(post/get) 
   * con (true(異步)|false(同步)) 
   * functionName(回調方法名,不需要引號,這里只有成功的時候才調用) 
   * (注意:這方法有二個參數,一個就是xmlhttp,一個就是要處理的對象) 
   */
  function ajaxrequest(url, methodtype, con, functionName) {
   //獲取XMLHTTPRequest對象
   var xmlhttp = getajaxHttp();
   //設置回調函數(響應的時候調用的函數)
   xmlhttp.onreadystatechange = function() {
    //這個函數中的代碼在什么時候被XMLHTTPRequest對象調用?
    //當服務器響應時,XMLHTTPRequest對象會自動調用該回調方法
    if (xmlhttp.readyState == 4) {
     if (xmlhttp.status == 200) {
      functionName(xmlhttp.responseText);
     }
    }
   };
   //創建請求
   xmlhttp.open(methodtype, url, con);
   //發送請求
   xmlhttp.send();
  }

  window.onload=function(){
   ajaxrequest("addressSerlvet?method=provincial","POST",true,addrResponse);
  }
  //動態獲取省的信息
  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>";
   //再將區的信息清除
   document.getElementById('selectArea').innerHTML="option value='-1'>請選擇區/option>";
   //再將用戶的輸入清楚
   document.getElementById("addr").innerHTML="";
   var val = document.getElementById('select').value;
   if(val == -1){
    document.getElementById('selectCity')[0].selected = true;
    return;
   }
   //開始執行獲取市
   ajaxrequest("addressSerlvet?method=cityprovincial="+val,"POST",true,cityResponse);
  }
  //獲取市的動態數據
  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;
   //開始執行獲取區
   ajaxrequest("addressSerlvet?method=areacityId="+val,"POST",true,areaResponse);
  }
  //獲取區的動態數據
  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;
   }
   //獲取區的文本值
   var area = document.getElementById("selectArea");
   var areaTex = area.options[area.options.selectedIndex].text;
   if(area.value=-1){
    alert("請選擇區");
    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);
  }
 }
 /**
  * 根據市id獲取該市下的區的全部信息
  * @param request
  * @param response
  * @throws ServletException
  * @throws IOException
  */
 protected void getArea(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {

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

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

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

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

  // 將集合轉成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();
 /**
  * 根據省的id獲取市的信息
  * @param provinceId
  * @return
  */
 ArrayListAddress> getCityByProvinceId(int provinceId);
 /**
  * 根據市的id獲取區的信息
  * @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;
 }

}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

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

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

巨人網絡通訊聲明:本文標題《Ajax實現省市區三級級聯(數據來自mysql數據庫)》,本文關鍵詞  Ajax,實現,省市區,三級,級聯,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ajax實現省市區三級級聯(數據來自mysql數據庫)》相關的同類信息!
  • 本頁收集關于Ajax實現省市區三級級聯(數據來自mysql數據庫)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91精品国产综合久久福利| 亚洲一卡二卡三卡四卡无卡久久| 欧美日韩精品专区| 日本精品免费观看高清观看| 97精品国产97久久久久久久久久久久| 国产福利一区在线| 成人污污视频在线观看| 波多野结衣中文字幕一区| 成人18视频日本| 一本大道久久a久久综合婷婷| 高清av一区二区| av高清久久久| 欧美日韩精品一区二区天天拍小说 | 欧美三级视频在线| 欧美日韩一区二区三区四区 | 国产亚洲短视频| 久久久99久久精品欧美| 中文字幕一区二区三区四区| 亚洲三级在线免费观看| 亚洲国产人成综合网站| 久久www免费人成看片高清| 国产 欧美在线| 欧洲色大大久久| 欧美一二三区在线| 国产三级一区二区三区| 一区二区三区在线免费视频| 日韩影院在线观看| 国产不卡在线视频| 欧美天天综合网| 久久久久国产精品免费免费搜索| 亚洲视频在线一区| 青娱乐精品视频| av激情综合网| 日韩一区二区三区观看| 中文字幕日本乱码精品影院| 日韩极品在线观看| 色综合一区二区三区| 精品少妇一区二区三区视频免付费| 国产精品久久久久久久久果冻传媒| 一区二区免费在线| 国产成人免费在线观看| 91精品国产全国免费观看| 国产精品毛片久久久久久| 男女男精品视频网| 一本色道久久综合亚洲aⅴ蜜桃| 日韩三级.com| 亚洲国产精品久久人人爱蜜臀| 国产精品亚洲一区二区三区妖精 | 最新日韩av在线| 久久不见久久见免费视频7 | 国产精品久久久久永久免费观看 | 欧美国产视频在线| 男女性色大片免费观看一区二区| 色婷婷av一区二区三区大白胸 | 91.xcao| 亚洲第一久久影院| 色香色香欲天天天影视综合网| 久久精品视频在线看| 久久国内精品自在自线400部| 欧美亚洲动漫另类| 夜夜精品视频一区二区| 色偷偷成人一区二区三区91| 中文字幕精品—区二区四季| 久久精品国产成人一区二区三区| 欧美日韩国产天堂| 亚洲成人激情自拍| 欧美日韩一区二区不卡| 一区二区三区精密机械公司| 成人av免费观看| 中文字幕一区视频| 99久精品国产| 亚洲乱码中文字幕综合| 色噜噜狠狠色综合中国| 一区二区三区四区五区视频在线观看 | 国产精品色呦呦| 成人免费视频网站在线观看| 久久久久国产精品麻豆ai换脸| 国产精品一区二区视频| 久久亚洲综合av| 丁香激情综合国产| 中文字幕综合网| 欧美怡红院视频| 天天av天天翘天天综合网| 制服丝袜中文字幕一区| 免费在线看成人av| 欧美精品一区二区三区久久久| 国内外精品视频| 国产精品久久久久久久久久免费看 | 欧美日韩国产影片| 国产综合久久久久久久久久久久| 日韩精品一区二区三区四区| 国产裸体歌舞团一区二区| 日本一区二区动态图| 在线观看亚洲成人| 麻豆精品视频在线观看免费| 国产三级欧美三级| 色女孩综合影院| 蜜臀精品一区二区三区在线观看| 国产日韩欧美一区二区三区综合 | 亚洲成人午夜电影| 久久亚洲免费视频| 一本色道久久综合亚洲精品按摩| 亚洲国产视频网站| 亚洲综合男人的天堂| 91.xcao| 99re热这里只有精品免费视频| 亚洲国产日韩a在线播放| 久久先锋影音av| 欧美日韩在线播放三区四区| 国产一区二区三区四| 亚洲综合区在线| 国产精品污网站| 日韩一区二区三区免费看| a级高清视频欧美日韩| 蜜桃av噜噜一区| 亚洲精品美腿丝袜| 国产女主播一区| 欧美一区二区三区白人| 91浏览器入口在线观看| 国内外成人在线| 无码av免费一区二区三区试看| 日本一区二区免费在线观看视频 | 美美哒免费高清在线观看视频一区二区| 日本一区二区高清| 精品美女被调教视频大全网站| 色久优优欧美色久优优| 国产成人超碰人人澡人人澡| 日韩av一区二区在线影视| 亚洲伦在线观看| 国产精品大尺度| 国产日产欧美一区二区视频| 日韩视频免费直播| 欧美日韩黄色影视| 欧美性大战久久久久久久| 成人动漫一区二区三区| 国产精品99久久久久久久女警 | 国产亚洲精久久久久久| 精品美女在线播放| 精品久久人人做人人爰| 91精品国产综合久久久久久久| 色88888久久久久久影院野外| 成人免费视频视频| 成人动漫一区二区三区| 国产aⅴ综合色| 白白色亚洲国产精品| 成人午夜激情视频| 91亚洲精华国产精华精华液| av亚洲精华国产精华| 成人短视频下载| 91网址在线看| 欧日韩精品视频| 欧美日韩精品一区二区在线播放| 欧美日韩国产精选| 日韩欧美电影一区| 欧美大片一区二区| 久久久久久久精| 国产精品丝袜久久久久久app| 国产精品久久久久久户外露出| 亚洲日本丝袜连裤袜办公室| 自拍偷拍亚洲激情| 亚洲第一在线综合网站| 蜜桃视频在线观看一区| 国产福利一区二区| av不卡一区二区三区| 欧美日韩一区二区三区视频 | 成人在线视频一区| 色先锋久久av资源部| 欧美日韩国产片| 欧美大片在线观看一区| 久久精品国产亚洲5555| 国产精品一卡二卡| 在线观看视频91| 日韩一区二区精品葵司在线| 国产欧美一区二区三区在线看蜜臀| 国产精品人人做人人爽人人添| 亚洲免费观看高清完整版在线观看 | 制服丝袜av成人在线看| 久久综合九色综合97婷婷女人| 欧美经典三级视频一区二区三区| 亚洲天天做日日做天天谢日日欢 | 精品国产百合女同互慰| 国产精品欧美久久久久一区二区| 亚洲一二三区不卡| 激情欧美一区二区三区在线观看| 99久久精品免费看国产免费软件| 欧美精品久久久久久久久老牛影院| 日韩欧美成人午夜| 亚洲精品久久久久久国产精华液| 蜜桃精品视频在线观看| 99re视频精品| 久久久综合激的五月天| 亚洲精品国产品国语在线app| 精品一区二区三区在线观看| 色综合久久综合网97色综合 | 日本免费新一区视频| 成人黄色小视频| 91精品国产色综合久久| 1000部国产精品成人观看| 蜜臀av一区二区在线观看| 色婷婷亚洲综合|