用回调实现的省市县区四级下拉选择联动的例子
2006-08-17 15:01
537 查看
本文示例代码(52K),请在VS2005中用"打开网站"的方式打开并运行
function OnProvinceChanged()
// 接收回调后服务器传回的结果,这里是DropDownList_Provinces控件重新绑定后的HTML编码
function UpdataDropDownList_Cities(result, context)
using System.Web.UI;
using System.IO;
using System.Globalization;
服务器端对下拉控件的更新如下,相对正常的绑定只做了很小的更改
// 更新地级市
public string UpdateCities(string str_ProvinceID)
// 根据上级编号更新指定的DropDownList
private string UpdateDropDownList(string str_parent_id, DropDownList theDropDownList)
string str_SQL = "Select area_id, area_name From Cities Where area_parent_id = '" + str_parent_id + "' Order By area_id Asc";
DataTable theDataTable = GetDataTable(str_SQL);
if (theDataTable == null)
return string.Empty;
// 数据绑定
theDropDownList.DataSource = theDataTable;
theDropDownList.DataTextField = "area_name";
theDropDownList.DataValueField = "area_id";
theDropDownList.DataBind();
// 返回的是Javascript便于处理的string
if (str_parent_id == "000000")
// 省级列表不需要联动
return string.Empty;
else
return RenderControl(theDropDownList);
}
4个下拉列表的联动需要涉及到3次回调过程,限于微软在回调JS端的代码BUG,这3次回调只能用串联进行,中间用setTimeout()连接,否则会有Javascript报错,这也算是回调的一大缺陷吧。
Access中表Ctities的组织如下,area_parent_id顾名思义是该地区上级地区的编码,省级的上级是000000,这里我收集了3523条记录,基本涵盖了大江南北
更细节的地方还是在示例代码中找答案吧。
回调说到底还是微软对xmlhttp对象操作的封装,和其它Ajax实现大同小异,微软制定了固定的流程套路来降低Ajax的开发门槛,不用额外第三方DLL的支持是其最大的亮点,因此可以稳定在各支持ASP2.0的Server上运行,当然,回调并不是ASP2.0独有的,在ASP1.1时就已存在。
function OnProvinceChanged()
// 接收回调后服务器传回的结果,这里是DropDownList_Provinces控件重新绑定后的HTML编码
function UpdataDropDownList_Cities(result, context)
using System.Web.UI;
using System.IO;
using System.Globalization;
服务器端对下拉控件的更新如下,相对正常的绑定只做了很小的更改
// 更新地级市
public string UpdateCities(string str_ProvinceID)
// 根据上级编号更新指定的DropDownList
private string UpdateDropDownList(string str_parent_id, DropDownList theDropDownList)
string str_SQL = "Select area_id, area_name From Cities Where area_parent_id = '" + str_parent_id + "' Order By area_id Asc";
DataTable theDataTable = GetDataTable(str_SQL);
if (theDataTable == null)
return string.Empty;
// 数据绑定
theDropDownList.DataSource = theDataTable;
theDropDownList.DataTextField = "area_name";
theDropDownList.DataValueField = "area_id";
theDropDownList.DataBind();
// 返回的是Javascript便于处理的string
if (str_parent_id == "000000")
// 省级列表不需要联动
return string.Empty;
else
return RenderControl(theDropDownList);
}
4个下拉列表的联动需要涉及到3次回调过程,限于微软在回调JS端的代码BUG,这3次回调只能用串联进行,中间用setTimeout()连接,否则会有Javascript报错,这也算是回调的一大缺陷吧。
Access中表Ctities的组织如下,area_parent_id顾名思义是该地区上级地区的编码,省级的上级是000000,这里我收集了3523条记录,基本涵盖了大江南北
更细节的地方还是在示例代码中找答案吧。
回调说到底还是微软对xmlhttp对象操作的封装,和其它Ajax实现大同小异,微软制定了固定的流程套路来降低Ajax的开发门槛,不用额外第三方DLL的支持是其最大的亮点,因此可以稳定在各支持ASP2.0的Server上运行,当然,回调并不是ASP2.0独有的,在ASP1.1时就已存在。
相关文章推荐
- js实现的全国省市二级联动下拉选择菜单完整实例
- js实现的全国省市二级联动下拉选择菜单完整实例
- 基于javascript实现全国省市二级联动下拉选择菜单
- 浏览器前进后退对下拉框数据的丢失(省市联动实现和例子)
- [js]实现简单的省市二级联动下拉选择菜单
- JavaScript(JS)实现省市联动选择下拉列表
- 基于javascript实现全国省市二级联动下拉选择菜单
- php jquery ajax json 全国省市区三级联动下拉列表 简单实现
- 牛腩购物15:中国省市县数据库,DropDownList 绑定数据库 下拉选择省市,购物车的实现,使用sqlserver 2008 导入access数据库,不能在 DropDownList 中选择多个项
- 用php和ajax写一个省市区的三级联动,实现地区的下拉选择
- vue省市区三联动下拉选择组件的实现
- 【2018最新的省市区】获取json,实现三级联动选择省市区(底部源码地址)
- 用UIPicker做一个类似省市联动选择的例子
- SAP选择屏幕中实现三级联动下拉框效果
- 原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
- 省市二级联动 通过省份选择城市 JS的简单应用 二级下拉列表
- 由ajax,js,xml,php实现的三级联动省市县下拉功能
- JQuery+Ajax实现下拉框联动(省市联动)
- 用UIPicker做一个类似省市联动选择的例子
- Ajax无刷新实现省市联动,并在回发后保留省市下拉框状态