java 异步实现省市联动

1.

省份:<select id="provinceSelect"></select>
城市:<select id="citySelect"></select>

 2.get,post请求都可

	public String findProvinces(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		List<Province> list=dao.findProvinces();
		String jsonString=JSONArray.fromObject(list).toString();
		response.getWriter().write(jsonString);
		return null;

	}
	public String findCitysbyPid(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String pId=request.getParameter("pId");
		int provinceId=Integer.parseInt(pId);
		List<City> list=dao.findCitysByPId(provinceId);
		String jsonString=JSONArray.fromObject(list).toString();
		response.getWriter().write(jsonString);
		return null;
	}

  3.

  function initProvinceSelect()
  {
	  $.getJSON("<c:url value=‘ProvinceCityServlet‘/>",{"method":"findProvinces"},function(data){
//另一种遍历方式  还有each方式遍历 但在这里不常用   常用在遍历jquery元素集合上
	for(var i = 0; i < data.length; i++){
	  $("#provinceSelect").append("<option value=‘"+data[i].pid+"‘>"+data[i].name+"</option>")
	}
		  bindCitySelectChange();//注意绑定事件的顺序  总是放在依赖控件加载完后面 因为是异步加载

		  //初始化   很重要 一般是想不到的
		  $("#provinceSelect").change();
	  });
  }

  4.

  function bindCitySelectChange()
  {
	  $("#provinceSelect").change(function(){
		  var pId=$(this).val();//获取select选中项  很重要
		  $("#citySelect").empty();
		  //post get都行
		  $.post("<c:url value=‘ProvinceCityServlet‘/>",{"method":"findCitysbyPid","pId":pId},function(data){
			  for(var key in data)
			  {
			  		$("#citySelect").append("<option>"+data[key].name+"</option>");
			  }

		  },"json");
	  });
  }

  

时间: 2024-11-06 13:14:18

java 异步实现省市联动的相关文章

AJAX案例四:省市联动

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 4 5 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4

Json 基于jQuery+JSON的省市联动效果

helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery  JSON  Ajax  省市联动 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 查看演示 下载源码 HTML 首先在head中载入jquery库和cityselect插件. <script type="tex

基于jQuery+JSON的省市联动效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

ajax完成省市联动

1.用ajax传输xml文件完成省市联动 首先创建数据库 省市联动一个province表一个city表,一对多关系 这是province表 pid pname1 重庆2 四川 这是city表 cid cname pid1  沙坪坝区 12 江北区 13 渝中区 14 成都 25 眉山    26 乐山   2 下拉列表的html代码: <tr> <td>籍贯</td> <td> <select id="province" name=

注册页面-省市联动

自己做的Demo,搭建好了ssm框架之后,做了一个注册页面. 先用同步的方式从数据库取数据,但是用js在页面上一直取不出数据,数据格式为json,反复检查数据没问题. 问题分析,应该是同步请求html页面,同时js再请求其他的数据,导致错误,改为采用Ajax异步请求省份城市信息,成功. 1 //省市联动 2 var provices = []; 3 var citys = []; 4 var locations = null; 5 //Ajax请求后端数据 6 $.ajax({ 7 async:

自建List&lt;&gt;绑定ComboBox下拉框实现省市联动

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace _04省市联动 { public partial cl

php省市联动实现

设计模式:ajax实现,数据库格式:id,name,parent_id 数据库: CREATE TABLE IF NOT EXISTS `city` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) DEFAULT NULL, `parent_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREME

fragment 中利用spinner实现省市联动

(1)布局文件就不在说明了,主要说代码的实现,先把代码贴上! package com.example.cl; import android.annotation.SuppressLint; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import

省市联动 js

工作中见到这个省市联动代码,虽然很简单也能写出来,还是随便把它记录下来. //省市联动 function area(obj_id, area_pId, data_call_back) { if (area_pId == -1) return; $.ajax({ type: 'GET', url: "/SysAdmin/Pages/tb_supplierAdd.aspx", data: { area_pId: area_pId }, dataType: 'json', success: