本文示例代码(52K),请在VS2005中用"打开网站"的方式打开并运行
上个月贴过一个用回调实现的下拉列表联动的例子,不过那个示例相对简单,只阐述了概念,离实际的运用还有距离,今天再贴一个用回调实现的地区选择的例子,不附加任何第三方DLL,数据库也用最基本的Access构成,可以方便的转换成其它数据库,喜欢的朋友可以方便的转为己用。
闲话少说,先看下回调的关键部分,Javascript部分是发起回调,并接收返回的结果
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时就已存在。