请教问题:地区三级联动代码如何取实际地区进行保存?

lizuiyuan 发布于 2014/03/11 14:26
阅读 137
收藏 0

我下载了一个地区三级联动的代码很好用,但取值保存到表单时是保存了地区的代码,我想直接保存地区名,做了很多尝试均不能解决,我是初学者,恳请高手指点,不胜感激!!

<script src="lib/jquery.js"></script>
<script src="lib/json.js"></script>
<script>
function initProvinces(){
  removeSelect(document.all.Provinces);
  doAddSelect(doAjax("getProvinces.asp"),["Provinces","Province","ProvinceID","Tabdatas"])
}
function changeProvinces(){
  var val = document.all.Provinces.value;
  removeSelect(document.all.Citys)
  doAddSelect(doAjax("getCitys.asp?fatherID="+(val==""?null:val)),["Citys","City","CityID","Tabdatas"])
}
function changeCitys(){
  var val = document.all.Citys.value;
  alert(val)
  removeSelect(document.all.Areas)
  doAddSelect(doAjax("getAreas.asp?fatherID="+(val==""?null:val)),["Areas","Area","AreaID","Tabdatas"])
}
function doAjax(_surl){
    var str= $.ajax({ url: _surl, async: false }).responseText;
 if(str!="")
     return eval('(' + str + ')');
 else
  return null;
  }
  //params =["selectname","txt","value","Tabdatas1"]
  function doAddSelect(_bjson,params){
    if(_bjson!=null){
     var oSelect=document.getElementById(params[0]);
     for(i=0;i<_bjson[params[3]].records.length;i++){
      var oOption = document.createElement("OPTION");
   var row=_bjson[params[3]].records[i];
   oSelect.options.add(oOption);
      oOption.innerText =row[params[1]];
      oOption.value = row[params[2]];
     };
 }
  }
  function removeSelect(object){
 object.options.length=0;
    var oOption = document.createElement("OPTION");
 object.options.add(oOption);
    oOption.innerText ="=请选择dd=";
    oOption.value ="";
  }
  window.attachEvent("onload",initProvinces);
  document.all.Provinces.attachEvent("onchange",changeProvinces);
  document.all.Citys.attachEvent("onchange",changeCitys);
</script>

以下是问题补充:

@lizuiyuan:最后一个数据好改,前面两个一改就不能联动,取两次值,又时好时坏。急呀,望指点,谢谢!!! (2014/03/12 13:28)
加载中
返回顶部
顶部