省市区级联选择


<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>省市区级联选择</title>
<script type="text/javascript" src="/Content/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/Content/js/public.js"></script>
<style type="text/css">
body, html, ul {
margin: 0px;
padding: 0px;
}

#AreaList {
list-style-type: none;
}

#AreaList li {
float: left;
line-height: 30px;
height: 30px;
margin-right: 5px;
}
</style>
</head>
<body>
<ul id="AreaList">
<li>省份:<select name="Provice" id="Provice">
<option value="-1">请选择</option>
</select></li>
<li>城市:<select name="City" id="City">
<option value="-1">请选择</option>
</select></li>
<li>县区:<select name="Town" id="Town">
<option value="-1">请选择</option>
</select></li>
<li><span id="Msg"></span></li>
</ul>
<script type="text/javascript">
var url = "/Pages/Hander/GetAreaTown.ashx";
$(document).ready(function () {
BindOption("Provice", { "flag": "Areas", "Area_ID": 0 }, function () {
var areaCodes = "";
if (areaCodes != "") {
loadProvice(areaCodes);
}
});

$("#Provice").change(function () {
BindOption("City", { "flag": "Areas", "Area_ID": $("#Provice").val() });
$("#City").trigger("change");
});

$("#City").change(function () {
BindOption("Town", { "flag": "Areas", "Area_ID": $("#City").val() });
$("#Town").trigger("change");
});

$("#Town").change(function () {
var values = { "Provice": { name: $("#Provice option:selected").text(), value: $("#Provice").val() }, "City": { name: $("#City option:selected").text(), value: $("#City").val() }, "Town": { name: $("#Town option:selected").text(), value: $("#Town").val() } };
//alert(values.Provice.name + ":" + values.Provice.value + "||" + values.City.name + ":" + values.City.value + "||" + values.Town.name + ":" + values.Town.value);
if (parent.areaChanger)
parent.areaChanger.call(this, values);
});

});

/**
*==========================
****加载数据***
*==========================
*@para Ajax请求参数
*@id:需要绑定的下拉框ID
*@fn:回调函数
*/
function BindOption(id, para, fn) {
$("#" + id).empty();
$("#" + id).append("<option value=\"-1\">请选择</option>");
if (para.Area_ID != "-1") {
changLoader(true, "Msg");
getAjax(url, para, function (data) {
if (data.success) {
var list = data.data, opt = "";
for (var i = 0; i < list.length; i++) {
opt += "<option value=\"" + list[i][‘Area_ID‘] + "\">" + list[i][‘Area_Name‘] + "</option>";
}
$("#" + id).append(opt);
}
changLoader(false, "Msg");
if (fn)
fn.call(this);
});
}
}

/**
*==========================
****加载数据***
*==========================
*@codeStr 城市区域字符串例如:13,1303,130603依次是ProviceID,CityID,TownID
*@author:叶明龙
*@time:2014/06/09
*/
function loadProvice(codeStr) {
var datas = codeStr.split(",");
$("#Provice").val(datas[0]);
BindOption("City", { "flag": "Areas", "Area_ID": datas[0] }, function () {
$("#City").val(datas[1]);
});
BindOption("Town", { "flag": "Areas", "Area_ID": datas[1] }, function () {
$("#Town").val(datas[2]);
});

}

</script>
</body>
</html>

Provice.zip

时间: 2024-07-29 15:42:58

省市区级联选择的相关文章

vue + mint-ui 省市区级联选择

<mt-popup v-model="showSelectArea" :modal="true" position="bottom" style="width:100vw;" > <!-- <p>省份 - 城市 - 区县</p> --> <div class="showToolbar"> <div @click="controlSe

iview Cascader级联选择省市区问题,并附上数据

vue项目中,用到了iview的Cascader级联选择省市区,之前用的是iview-area这个插件做的省市区下拉选择, 没啥大问题,就是选择省市区后,屏幕会抖动一下,体验不好,又找不到解决办法, 之后重新选择了iview中的Cascader <FormItem label="省市区:" prop="chinaArea"> <Cascader v-model="eroomInfo.chinaArea" :data="

extjs tree check 级联选择

extjs4 tree check 级联选择 实现效果: 关键代码: function changeAllNode(node, isCheck) { allChild(node, isCheck); allParent(node, isCheck); function allChild(nodec, isCheckc) { var chileNodes = nodec.childNodes; Ext.Array.each(chileNodes, function (nd) { if (nd.ha

JS 省市区级联 修改地址操作时的默认选中方法

省市区级联JS控件 下载地址http://files.cnblogs.com/bin-pureLife/%E5%B0%8F%E5%9B%BE%E6%A0%87.zip function update(province,city,county){ $("#s_province option").each(function(){ if($(this).val()==province){ $(this).attr('selected',true) change(1); } }); $(&qu

利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)

最近在利用SharePoint Server 2013的列表组织和存储数据,发现SharePoint列表原始不支持级联选择的功能. 谷歌百度一通以后,发现了很多通过代码实现的方案,利用第三方的插件spservices的http://spservices.codeplex.com/releases/view/119578,或者自己编段代码的http://www.cnblogs.com/jianyus/p/3812758.html(JQuery+JavaScript),但觉得都不太理想.最后发现可以

angular 级联选择

HTML: <link rel="stylesheet" href="views/tree/checkbox.css"/> <div class="tree"> <ul> <li ng-repeat="country in vm.countries" ng-class="{closed:country.closed}"> <div> <inp

Js异步级联选择框实践方法

HTML: <li> <span>所在地区:</span> <select name="prov" id="ddl_prov" onchange="event_change_prov(this);" class="required" missingmsg="请选择省"> <option value="">请选择省</opt

完全使用ASP.NET实现的省市区级联效果

本功能特点:下级的显示和数据的加载都是由上一级下拉框的SelectedIndexChanged触发的,在上级下拉框没有选择之前,下级不会出现,用户体验比较好.无刷新方面,采用AJAX技术,在数据选择的时候,不会造成页面刷新,不会回传整个页面,不影响其他控件.由于省市区三级数据较大,采用数据库保存数据,代码中需要用到DBHelper来操作数据库.注意事项:本代码完全用Asp.net实现,没有使用javascript,可以把功能单独嵌套到ASP页面中,也可以做成用户控件.由于采用了AJAX无刷新技术

elementUi省市区级联

项目中有用到级联样式,但是是三个接口出来的数据,在此记录一下: HTML: <el-cascader v-model="ruleForm.address" :props="props" style="width:220px;" placeholder="省市区" /> JS: props: { lazy: true, lazyLoad(node, resolve) { if (node.level === 0) {