123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- /* $Id : region.js 4865 2007-01-31 14:04:10Z paulgao $ */
- var region = new Object();
- region.isAdmin = false;
- region.loadRegions = function(parent, type, target)
- {
- Ajax.call(region.getFileName(), 'type=' + type + '&target=' + target + "&parent=" + parent , region.response, "GET", "JSON");
- }
- /* *
- * 载入指定的国家下所有的省份
- *
- * @country integer 国家的编号
- * @selName string 列表框的名称
- */
- region.loadProvinces = function(country, selName)
- {
- var objName = (typeof selName == "undefined") ? "selProvinces" : selName;
- region.loadRegions(country, 1, objName);
- }
- /* *
- * 载入指定的省份下所有的城市
- *
- * @province integer 省份的编号
- * @selName string 列表框的名称
- */
- region.loadCities = function(province, selName)
- {
- var objName = (typeof selName == "undefined") ? "selCities" : selName;
- region.loadRegions(province, 2, objName);
- }
- /* *
- * 载入指定的城市下的区 / 县
- *
- * @city integer 城市的编号
- * @selName string 列表框的名称
- */
- region.loadDistricts = function(city, selName)
- {
- var objName = (typeof selName == "undefined") ? "selDistricts" : selName;
- region.loadRegions(city, 3, objName);
- }
- /* *
- * 处理下拉列表改变的函数
- *
- * @obj object 下拉列表
- * @type integer 类型
- * @selName string 目标列表框的名称
- */
- region.changed = function(obj, type, selName)
- {
- var parent = obj.options[obj.selectedIndex].value;
- region.loadRegions(parent, type, selName);
- }
- region.response = function(result, text_result)
- {
- var sel = document.getElementById(result.target);
- sel.length = 1;
- sel.selectedIndex = 0;
- sel.style.display = (result.regions.length == 0 && ! region.isAdmin && result.type + 0 == 4) ? "none" : '';//morestock_morecity
- if (document.all)
- {
- sel.fireEvent("onchange");
- }
- else
- {
- var evt = document.createEvent("HTMLEvents");
- evt.initEvent('change', true, true);
- sel.dispatchEvent(evt);
- }
- if (result.regions)
- {
- for (i = 0; i < result.regions.length; i ++ )
- {
- var opt = document.createElement("OPTION");
- opt.value = result.regions[i].region_id;
- opt.text = result.regions[i].region_name;
- sel.options.add(opt);
- }
- }
- }
- region.getFileName = function()
- {
- if (region.isAdmin)
- {
- return "../region.php";
- }
- else
- {
- return "region.php";
- }
- }
|