if (str == 省份){省份.outerHTML = "<Select name='省份'>"+ unescape(oBao.responseText) +"</Select>";}
...
..

解决方案 »

  1.   

    if (str == 省份){省份.outerHTML = '<Select name="省份" onChange=JavaScript:GetResult(this.options[this.selectedIndex].value,城市)>'+ unescape(oBao.responseText) +"</Select>";}
    if (str == 城市){城市.outerHTML = '<Select name="城市" onChange=JavaScript:GetResult(this.options[this.selectedIndex].value,区域)>'+ unescape(oBao.responseText) +"</Select>";}
    if (str == 区域){区域.outerHTML = '<Select name="区域" >'+ unescape(oBao.responseText) +"</Select>";}
    }
    </Script>
    <body onload="JavaScript:GetResult(15,省份)">
    <Select name="省份" ></Select>
    <Select name="城市" ></Select>
    <Select name="区域"></Select>
      

  2.   

    <body onload="JavaScript:GetResult(15,省份)">
    <Select name="省份" onChange="JavaScript:GetResult(this.options[this.options.selectedIndex].value),城市);"></Select>
    <Select name="城市" onChange="JavaScript:GetResult(this.options[this.options.selectedIndex].value),区域);"></Select>
    <Select name="区域"></Select>
    确实少了分号
      

  3.   

    问题已解决
    //流程 --> 先通过XMLHTTP获取第一下拉菜单的数据,再生成第一个下拉菜单。
    //菜单调用例子:<body onload="GetResult_Load(数据库ID,第一个下拉菜单名称)">
    function GetResult_Load(str,sel)
    {
    var oBao = new ActiveXObject("Microsoft.XMLHTTP");
    oBao.open("POST","Relating_Menu_Server.asp?ID="+escape(str),false);
    oBao.send();
    BuildSel_Load(unescape(oBao.responseText),sel)
    }
    function BuildSel_Load(str,sel)
    {
    sel.options.length=0;
    if (str!="")
    {
    var Tarrstr = new Array();
    Tarrstr = str.split("%$#@")
    strid = Tarrstr[0]
    strname = Tarrstr[1]

    var arrstr1 = new Array();
    arrstr1 = strid.split(",");
    var arrstr2 = new Array();
    arrstr2 = strname.split(",");
    for(var i=0;i<arrstr1.length;i++)
    {
    sel.options[sel.options.length]=new Option(arrstr2[i],arrstr1[i])
    }
    }
    var opobj =  new Option("--请选择--","")
    sel.add(opobj,0)
    sel.selectedIndex = 0
    }
    //页面加载第一个下拉菜单
    //----------------------------------------------------------------------------------------
    //下级关联各下拉菜单
    //objname =当前菜单名称
    //nextallobj_str =下级联动菜单名称集,格式例如:“一级|二级|三级|四级|......”
    //str =传递给Server方获取数据的必要关系参数
    //nextobj =相关联的下一个菜单名称
    //菜单调用例子:onChange="GetResult(this.name,'下级|下下级',this.value,document.all.下级)"
    function GetResult(objname,nextallobj_str,str,nextobj)
    {
    var yy = new Array();
    yy = nextallobj_str.split("|");
    for(var i=0 ; i<yy.length ; i++) clearoptions(eval("document.all."+yy[i]));
    var oBao = new ActiveXObject("Microsoft.XMLHTTP");
    oBao.open("POST","Relating_Menu_Server.asp?ID="+escape(str),false);
    oBao.send();
    BuildSel(unescape(oBao.responseText),nextobj)
    }
    function BuildSel(str,sel)
    {
    sel.options.length=0;
    if (str!="")
    {
    var Tarrstr = new Array();
    Tarrstr = str.split("%$#@")
    strid = Tarrstr[0]
    strname = Tarrstr[1]

    var arrstr1 = new Array();
    arrstr1 = strid.split(",");
    var arrstr2 = new Array();
    arrstr2 = strname.split(",");
    for(var i=0;i<arrstr1.length;i++)
    {
    sel.options[sel.options.length]=new Option(arrstr2[i],arrstr1[i])
    }
    }
    var opobj =  new Option("--请选择--","")
    sel.add(opobj,0)
    sel.selectedIndex = 0
    }
    function clearoptions(obj)
    {
    for(var j = 0 ; j<=obj.length ; j++)obj.remove(0)
    var opobj =  new Option("--请选择--","")
    obj.add(opobj,0)
    obj.selectedIndex = 0
    }