js获取省市
前台代码
@{
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获取省市的更多相关文章
- JS获取客户端IP地址、MAC和主机名七种方法
一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD ...
- JS获取客户端IP地址、MAC和主机名的7个方法汇总
今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...
- js获取给定月份的N个月后的日期
1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear().getYear()的区别. ①getYear() var d = new Date() console.log ...
- 【转】javascript浏览器参数的操作,js获取浏览器参数
原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...
- js获取当前域名、Url、相对路径和参数以及指定参数
一.js获取当前域名有2种方法 1.方法一 var domain = document.domain; 2.方法二 var domain = window.location.host; 3.注意问题 ...
- js获取当前系统时间
Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...
- Js获取当前日期时间及其它操作
Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...
- js获取cookie
js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...
- js获取URL中的参数
js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中 ...
随机推荐
- ubuntu - 14.04,常用PPA源(第三方提供的deb格式安装文件)!!
说明: 1,下面所有PPA源的执行命令,均为在shell中执行的命令,需要依次执行! 2,下面所有测试方法,均为在shell中执行的命令!! PPA源: 一,Oracle JDK:Oracle公司提供 ...
- Paste JSON as Code • quicktype 软件的使用
1.软件图标认知 该软件为json字符串与对象之间相互转户的自动化软件. 下载地址 2.打开软件 配置基本设置 3.生成.h文件 选择生成.h文件 拷贝代码到你管理该对象json文件的.h文件下 4. ...
- JQuery全局篇
学到JavaScript的时候,感觉这个东西很神奇,没想到学到JQuery的时候,发现BS的世界,真的很微妙,不经意的一个方法就可以给人焕然一新的感觉,很喜欢这个阶段学的东西,但是还是感觉少于代码的训 ...
- codevs3027(dp)
题目链接: http://codevs.cn/problem/3027/ 题意: 中文题目诶~ 思路: dp 先给所有线段按照右端点值升序 sort 一下, 用 dp[i] 存储以第 i 条线段结尾的 ...
- js计算每个月的总天数
js中相关日期的计算 var year = new Date().getFullYear(),//计算当前年份 month = new Date().getMonth()+1,//计算当前月份 dat ...
- plsql查询结果中文乱码
网上的教程很多,但是这里需要说明的是如果没有安装oracle客户端的情况下,该怎么修改注册表里面的oracle参数呢? 当然有些是不需要改注册表的,只需要配置环境变量就可以了,但是有的时候发现改了之后 ...
- java插入图片到数据库(可以批量)
package sundun.zfpt.gg.web; import java.io.File; import java.io.FileInputStream; import java.sql.Con ...
- luogu1632 点的移动
其实只需要开三重循环 根据OI中的一个重要的原理 给定一个序列a,求一个数x使得\(\sum |a_i-x|\)最小,那么这个数是序列a的中位数 证明略 然后既然是中位数,一定是数列中的数,类比到这题 ...
- window.open 设置高和宽无效
当设置_self属性时,再设置宽和高就不管用,这个宽高会继承父窗口的宽高! window.open("url","_self","width=100, ...
- 75th LeetCode Weekly Contest Champagne Tower
We stack glasses in a pyramid, where the first row has 1 glass, the second row has 2 glasses, and so ...