初学弱问 JavaScript if (str == 省份){省份.outerHTML = "<Select name='省份'>"+ unescape(oBao.responseText) +"</Select>";}..... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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> <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>确实少了分号 问题已解决//流程 --> 先通过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} 新人学习javasciript应该注意些什么了 现有一javascript字符串如下,能否计算出包含有多少行?(即<tr></tr>) 请问如何强制缓存图片到客户端? String.prototype的问题... 关于这个星座JavaScript javascript拖拽,不用document的onmousemove,而用div的。 window.open如何打开一个看不见的窗口 取得保存文件的路径 请教:网页超时问题! 怎样构建基于windows2000的bbs服务器? javascript里调用asp的函数 JavaScript 如何输出 半角的双引号或替换一个半角的双引号
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>
<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>
确实少了分号
//流程 --> 先通过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
}