zoukankan
html css js c++ java
异步 '省','市','区' 三级连动
<一. 源代码>
<
select id
=
"
seProvince
"
name
=
"
seProvince
"
onchange
=
"
LoadCity(this.options[this.selectedIndex].value)
"
><
option value
=
"
-1
"
>
选择省
</
option
></
select
>&
nbsp;
&
nbsp;
<
select id
=
"
seCity
"
name
=
"
seCity
"
onchange
=
"
LoadArea(this.options[this.selectedIndex].value)
"
disabled
=
"
disabled
"
><
option value
=
"
-1
"
>
选择市
</
option
></
select
>&
nbsp;
&
nbsp;
<
select id
=
"
seArea
"
name
=
"
seArea
"
disabled
=
"
disabled
"
><
option value
=
"
-1
"
>
选择区
</
option
></
select
>
<二. 类 异步调用方法>
//
获取省
[AjaxPro.AjaxMethod]
public
IList GetProvince()
{
try
{
ProvinceFilter filter
=
new
ProvinceFilter();
IList list
=
idbprovince.ReadList(filter,
"
Id
"
);
return
list;
}
catch
{
return
null
;
}
}
//
获取市
[AjaxPro.AjaxMethod]
public
IList GetCity(
int
provinceID)
{
try
{
CityFilter filter
=
new
CityFilter();
filter.ProvinceId.Value
=
provinceID.ToString();
IList list
=
idbcity.ReadList(filter,
"
Id
"
);
return
list;
}
catch
{
return
null
;
}
}
//
获取区
[AjaxPro.AjaxMethod]
public
IList GetArea(
int
cityID)
{
try
{
AreaFilter filter
=
new
AreaFilter();
filter.CityId.Value
=
cityID.ToString();
IList list
=
idbarea.ReadList(filter,
"
Id
"
);
return
list;
}
catch
{
return
null
;
}
}
//
获取信息
[AjaxPro.AjaxMethod]
public
IList GetMyAddress(
int
ReceID)
{
try
{
IList list
=
new
ArrayList();
ReceivedAddress rece
=
idbrece.Read(ReceID);
list.Add(rece.UserId);
list.Add(rece.Phone);
list.Add(rece.Mobile);
//
省Code
list.Add(ProvinceCode);
//
市Code
list.Add(city.Code);
//
区Code
list.Add(area.Code);
list.Add(rece.Address);
list.Add(rece.Zip);
return
list;
}
catch
{
return
null
;
}
}
<三. JS 加载>
//
加载省
window.onload
=
function()
{
var result
=
OrderSystemCtrl.AjaxMsg.AjaxMethods.GetProvince();
if
(result
!=
null
)
{
var list
=
result.value;
if
(list
!=
null
)
{
var seprov
=
document.getElementById(
"
seProvince
"
);
for
(i
=
0
; i
<
list.length; i
++
)
{
var province
=
list[i];
var opt
=
new
Option(province.Name,province.Code);
seprov.options.add(opt);
}
}
}
}
//
加载市
function LoadCity(provinceValue)
{
if
(parseInt(provinceValue)
==
-
1
)
return
;
var result
=
OrderSystemCtrl.AjaxMsg.AjaxMethods.GetCity(provinceValue);
if
(result
!=
null
)
{
var list
=
result.value;
if
(list
!=
null
)
{
var secity
=
document.getElementById(
"
seCity
"
);
ClearSeValue(secity);
if
(list.length
>
0
)
{
secity.disabled
=
false
;
for
(i
=
0
; i
<
list.length; i
++
)
{
var city
=
list[i];
var opt
=
new
Option(city.Name,city.Code);
secity.options.add(opt);
}
}
else
{
secity.disabled
=
"
disabled
"
;
}
}
var seArea
=
document.getElementById(
"
seArea
"
);
ClearSeValue(seArea);
}
}
//
加载区
function LoadArea(cityValue)
{
if
(parseInt(cityValue)
==
-
1
)
return
;
var result
=
OrderSystemCtrl.AjaxMsg.AjaxMethods.GetArea(cityValue);
if
(result
!=
null
)
{
var list
=
result.value;
if
(list
!=
null
)
{
var seArea
=
document.getElementById(
"
seArea
"
);
ClearSeValue(seArea);
if
(list.length
>
0
)
{
seArea.disabled
=
false
;
for
(i
=
0
; i
<
list.length; i
++
)
{
var area
=
list[i];
var opt
=
new
Option(area.Name,area.Code);
seArea.options.add(opt);
}
}
else
{
seArea.disabled
=
"
disabled
"
;
}
}
}
}
//
清空下拉框数据
function ClearSeValue(obj)
{
for
( i
=
obj.options.length; i
>
0
;i
--
)
{
obj.remove(i);
}
}
//
选择一个常用收货地址
function useThisAddress(ReceID)
{
var result
=
OrderSystemCtrl.AjaxMsg.AjaxMethods.GetMyAddress(parseInt(ReceID));
if
(result
!=
null
)
{
var dt
=
result.value;
if
(dt.length
>
0
)
{
var Province
=
document.getElementById(
"
seProvince
"
);
var City
=
document.getElementById(
"
seCity
"
);
var Area
=
document.getElementById(
"
seArea
"
);
Province.value
=
dt[
0
];
LoadCity(dt[
0
]);
City.value
=
dt[
1
];
LoadArea(dt[
1
]);
Area.value
=
dt[
2
];
}
}
}
,
这个送给你!
查看全文
相关阅读:
Linux网络编程--socket
UDP学习总结
TCP协议学习总结
DNS协议总结
DHCP协议总结
ARP协议总结
二层协议--MPLS协议总结
二层协议--LLDP协议总结
二层协议--LACP协议总结
二层协议--STP协议总结
原文地址:https://www.cnblogs.com/di305449473/p/1203759.html
最新文章
[转]Oracle 索引质量分析
[转]Oracle 重建索引的必要性
[转]ORACLE SQL解析之硬解析和软解析
[转]如何查询SQL Server连接数
[O]ORACLE物化视图的使用
项目经理和产品经理
聊聊Http协议
图片缩放插件GestureImageView——Android 常用插件推荐(一)
通过 python ssh库连接并发送命令给设备
交换芯片数据流
热门文章
系统调用syscall---用户态切换到内核态的唯一途径
Linux应用和系统库的2种安装方式---源码安装tarball和二进制rpm包
RPC框架学习总结
ACL技术总结
QoS技术总结
VRRP技术总结和配置实践
对云数据中心网络架构的总结和思考
linux连接数过多,导致ping包丢包的问题解析
SSH密钥对登录的原理和实践
如何实现绑定进程到指定核上?如何实现绑定某个中断到指定核上?
Copyright © 2011-2022 走看看