region-1.0.0.js 1.37 KB
var region=new Object;region.isAdmin=!1,region.loadRegions=function(parent,type,target,url){var param="type="+type+"&target="+target+"&parent="+parent;$.ajax({url:url,dataType:"json",data:param,type:"GET",cache:!1,success:function(result){region.response(result)}})},region.loadProvinces=function(country,selName,url){var objName="undefined"==typeof selName?"selProvinces":selName;region.loadRegions(country,1,objName,url)},region.loadCities=function(province,selName,url){var objName="undefined"==typeof selName?"selCities":selName;region.loadRegions(province,2,objName,url)},region.loadDistricts=function(city,selName,url){var objName="undefined"==typeof selName?"selDistricts":selName;region.loadRegions(city,3,objName,url)},region.changed=function(obj,type,selName,url){var parent=obj.options[obj.selectedIndex].value;region.loadRegions(parent,type,selName,url)},region.response=function(result){var sel=document.getElementById(result.target);if(sel.length=1,sel.selectedIndex=0,sel.style.display=0!=result.regions.length||region.isAdmin||result.type+0!=3?"":"none",document.all)sel.fireEvent("onchange");else{var evt=document.createEvent("HTMLEvents");evt.initEvent("change",!0,!0),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)}};