前台代码

@{
IList<Provinces> allProvinces = ViewBag.AllProvinces;
IList<Districts> allDistricts = ViewBag.AllDistricts;
IList<Cities> allCities = ViewBag.AllCities;
}
<html>
<head>
<script src="/js/jquery-1.11.3.js" charset="utf-8"></script>
<script type="text/javascript">
var _allProvinces = @(new MvcHtmlString(JsonHelper.SerializeToJson(allProvinces.ToDictionary(k=>k.ProvinceID,v=>v.Province))));
var _allDistricts = @(new MvcHtmlString(JsonHelper.SerializeToJson(allDistricts.GroupBy(a => a.ParentID).ToDictionary(k => k.Key, v => v.ToDictionary(k1 => k1.DistrictID, v1 => v1.District)))));
var _allCities = @(new MvcHtmlString(JsonHelper.SerializeToJson(allCities.GroupBy(a=>a.ParentID).ToDictionary(k=>k.Key, v=> v.ToDictionary(k1=>k1.CityID, v1=>v1.City)))));
$(function () {
var cityID =@(Model.AddressID);
var provincesID = "";
var districtsID = ""; for(var key in _allCities)
{
for(var temp in _allCities[key])
{
if(temp == cityID){
districtsID = key;
}
}
}
for(var key in _allDistricts)
{
for(var temp in _allDistricts[key])
{
if(temp == districtsID){
provincesID = key;
}
}
} for(var key in _allProvinces)
{
$("#sltProvinces").append("<option value='"+key+"'>"+_allProvinces[key]+"</option>");
}
if(provincesID!=""){
$("#sltProvinces").find("option[value='"+provincesID+"']").attr("selected",true);
}
var parentID = $("#sltProvinces").val();
fullDistricts(parentID);
if(districtsID!=""){
$("#sltDistricts").find("option[value='"+districtsID+"']").attr("selected",true);
}
parentID = $("#sltDistricts").val();
fullCities(parentID);
if(cityID!=""){
$("#sltCities").find("option[value='"+cityID+"']").attr("selected",true);
} $("#sltProvinces").change(function(){
var provinceID = $(this).val();
fullDistricts(provinceID);
var districtsID = $("#sltDistricts").val();
fullCities(districtsID);
}); $("#sltDistricts").change(function(){
var districtsID = $(this).val();
fullCities(districtsID);
});
@*填充市*@
function fullDistricts(parentID){
var districts;
for(var key in _allDistricts)
{
if(key == parentID)
{
districts = _allDistricts[key];
}
}
$("#sltDistricts").empty();
for(var key in districts)
{
$("#sltDistricts").append("<option value='"+key+"'>"+districts[key]+"</option>");
}
}
@*填充县*@
function fullCities(parentID){
var cities;
for(var key in _allCities)
{
if(key == parentID)
{
cities = _allCities[key];
}
}
$("#sltCities").empty();
for(var key in cities)
{
$("#sltCities").append("<option value='"+key+"'>"+cities[key]+"</option>");
}
}
</script>
</head>
<body>
<select id="sltProvinces"></select>
<select id="sltDistricts"></select>
<select id="sltCities"></select>
</body>
</html>

mvc中
就是获取数据库中的数据

        #region 省市县
IList<Provinces> allProvinces;
IList<Districts> allDistricts;
IList<Cities> allCities; Dictionary<string, object> param3 = new Dictionary<string, object>();
string dataUrl = RouteManager.GetApiRoute("Index", "GetAllProvinces", param3);
allProvinces = JsonConvert.DeserializeObject<IList<Provinces>>(ShopList.PostShop(dataUrl));
dataUrl = RouteManager.GetApiRoute("Index", "GetAllDistricts", param3);
allDistricts = JsonConvert.DeserializeObject<IList<Districts>>(ShopList.PostShop(dataUrl));
dataUrl = RouteManager.GetApiRoute("Index", "GetAllCities", param3);
allCities = JsonConvert.DeserializeObject<IList<Cities>>(ShopList.PostShop(dataUrl)); ViewBag.AllProvinces = allProvinces;
ViewBag.AllCities = allCities;
ViewBag.AllDistricts = allDistricts;
#endregion

api中

#region 行政区 省市县

        /// <summary>
/// 获取所有省
/// </summary>
/// <returns></returns>
IList<Provinces> IIndexDAO.GetAllProvinces()
{
IList<Provinces> result = new List<Provinces>();
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var entities = context.DD_Provinces;
foreach (EF.DD_Provinces entity in entities)
{
Provinces provinces = new Provinces()
{
ID = entity.ID,
Province = entity.Province,
ProvinceID = entity.ProvinceID
};
result.Add(provinces);
}
}
return result;
} /// <summary>
/// 获取所有县
/// </summary>
/// <returns></returns>
IList<Cities> IIndexDAO.GetAllCities()
{
IList<Cities> result = new List<Cities>();
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var entities = context.DD_Cities;
foreach (EF.DD_Cities entity in entities)
{
Cities cities = new Cities()
{
City = entity.City,
CityID = entity.CityID,
ID = entity.ID,
ParentID = entity.ParentID
};
result.Add(cities);
}
}
return result;
} /// <summary>
/// 获取所有市
/// </summary>
/// <returns></returns>
IList<Districts> IIndexDAO.GetAllDistricts()
{
IList<Districts> result = new List<Districts>();
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var entities = context.DD_Districts;
foreach (EF.DD_Districts entity in entities)
{
Districts districts = new Districts()
{
District = entity.District,
DistrictID = entity.DistrictID,
ID = entity.ID,
ParentID =entity.ParentID
};
result.Add(districts);
}
}
return result;
}
/// <summary>
/// 根据省ID,获取省实体
/// </summary>
/// <param name="provincesID"></param>
/// <returns></returns>
Provinces IIndexDAO.GetProvinces(int provincesID)
{
Provinces result = null;
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var entity = context.DD_Provinces.Single(a => a.ProvinceID == provincesID);
result = new Provinces()
{
ID = entity.ID,
Province = entity.Province,
ProvinceID = entity.ProvinceID
};
}
return result;
}
/// <summary>
/// 根据城市ID,获取城市实体
/// </summary>
/// <param name="districtID"></param>
/// <returns></returns>
Districts IIndexDAO.GetDistricts(int districtID)
{
Districts result = null;
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var entity = context.DD_Districts.Single(a => a.DistrictID == districtID);
result = new Districts()
{
District = entity.District,
DistrictID = entity.DistrictID,
ID = entity.ID,
ParentID = entity.ParentID
};
}
return result;
}
/// <summary>
/// 根据区县ID,获取区县实体
/// </summary>
/// <param name="cityID"></param>
/// <returns></returns>
Cities IIndexDAO.GetCities(int cityID)
{
Cities result = null;
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var entity = context.DD_Cities.Single(a => a.CityID == cityID);
result = new Cities()
{
City = entity.City,
CityID = entity.CityID,
ID = entity.ID,
ParentID = entity.ParentID
};
}
return result;
} #endregion

http://files.cnblogs.com/files/xbblogs/%E7%9C%81%E5%B8%82%E5%8E%BF.zip

js获取省市的更多相关文章

  1. JS获取客户端IP地址、MAC和主机名七种方法

    一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD ...

  2. JS获取客户端IP地址、MAC和主机名的7个方法汇总

    今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...

  3. js获取给定月份的N个月后的日期

    1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear().getYear()的区别. ①getYear() var d = new Date() console.log ...

  4. 【转】javascript浏览器参数的操作,js获取浏览器参数

    原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...

  5. js获取当前域名、Url、相对路径和参数以及指定参数

    一.js获取当前域名有2种方法 1.方法一 var domain = document.domain; 2.方法二 var domain = window.location.host; 3.注意问题 ...

  6. js获取当前系统时间

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  7. Js获取当前日期时间及其它操作

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  8. js获取cookie

    js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...

  9. js获取URL中的参数

    js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中 ...

随机推荐

  1. 网络模拟工具Clumsy

    Clumsy 是一款小巧而功能强大的开源弱网模拟工具,它能在windows平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现. 你可以选择 clumsy 提供的功能来有目的性的调 ...

  2. XtraBackup 备份与恢复实例讲解

    前一篇文章我们讲到了PXB的原理以及安装方法,接下来将详细介绍 XtraBackup 备份和恢复的具体过程. xtrabackup 选项 xtrabackup 工具有许多参数,具体可去官网查询(xtr ...

  3. tcp设置超时重传

    TCP超时和重传的基础是怎样根据给定连接RTT设置RTO,若TCP先于RTT开始重传,可能会在网络中引入不必要的重复数据,反之,若延迟至远大于RTT的间隔发送重传数据,整体网络利用率会随之下降.由于R ...

  4. C#中抽象类与接口

    1抽象类 (1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法 (2) 抽象类不能被实例化 (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明 ...

  5. P2387 [NOI2014]魔法森林 LCT维护最小生成树

    \(\color{#0066ff}{ 题目描述 }\) 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士.魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 ...

  6. #6145. 「2017 山东三轮集训 Day7」Easy 动态点分治

    \(\color{#0066ff}{题目描述}\) JOHNKRAM 最近在参加 C_SUNSHINE 举办的聚会. C 国一共有 n 座城市,这些城市由 n−1 条无向道路连接.任意两座城市之间有且 ...

  7. Windows多个应用程序共享全局变量,静态变量

    默认情况下exe不同实例使用copy-on-write技术避免共享数据,比如运行了两个exe,最开始它们使用的都是一份虚拟内存页,然后第一个实例修改了全局变量, 这时候COW就会复制那一页,然后将第一 ...

  8. virturalenv 虚拟环境

    一.window系统 1.virtualenv的使用 2.pycharm使用 环境变量,path的作用:命令行中执行的命令,他们的路径,必须在path路径中,如果命令行找不到该命令,就是说path没写 ...

  9. Linux(ubuntu)下固定IP的方法

    写在前面,问:为什么要固定ip.答:要知道固定IP的好处多多,随意搬动,固定共享地址,不怕断网等等 首先,我们要选取一个局域网内的IP,方法如下: 1.选取IP号段,一般是路由器DCHP以外的IP地址 ...

  10. P4345 [SHOI2015]超能粒子炮·改

    传送门 看到数据和模数大小就知道要上 lucas 了 然后开始愉快地推公式: 答案为 $\sum _{i=0}^kC_{n}^{i}\ (mod\ 2333)$ 设 $f [ i ] [ j ] = ...