JS实多级联动下拉菜单类,简单实现省市区联动菜单!

2019-06-02 21:02:30王旭

              var df=document.getElementById(this.obj.selectName+i);
              df.options.length=0;
              defaultoption(this.obj,df,i);
              }
            //最得值
            getvalue(this.obj);
          }
        }
      }
    }
    defaultoption(this,selectobj,this.grade);
    //显示级别下数据
    if(upid>=0){
    for(var j=0;j<Data["a_record"].length;j++){
      thisrecord=Data["a_row"][Data["a_record"][j]];
      if(thisrecord[1]==upid){
        optionobj=document.createElement("option");
        optionobj.text=thisrecord[0];
        optionobj.value=Data["a_record"][j];
        selectobj.options.add(optionobj);
        if(def==Data["a_record"][j]) havedef=true;
    }
  }
  }
  if(havedef)selectobj.value=def;
  return selectobj;
}

this.selectshow = function(obj,id){ //显示选中记录号
  var selectobj,optionobj,thisrecord;
  var lastgrade,tempid=id,tempgrade;
  var fontpath=this.getfontpath(id);
  tempgrade=this.grade;
  this.grade=0;
  //显示选中前部分内容
  for (var i=0;i<fontpath.length;i++){
    if(!document.getElementById(this.selectName+this.grade)){
      if(i<fontpath.length-1)
        this.Add(obj,this.selectshowlevel(obj,fontpath[i],fontpath[i+1]));
      else
        this.Add(obj,this.selectshowlevel(obj,fontpath[i],id));
    }
    this.grade++;
  }
  //显示选中后部分内容
  do{
  lastgrade=this.selectshowlevel(obj,tempid);
  tempid=lastgrade.value;
  if (tempid=="")tempid=-1;
  this.Add(obj,lastgrade);
  this.grade++;