IE下select innerHTML问题...FF下没问题

我写了个这样的功能,就是上一个select的onchange事件时,把一个值传给下一个select,有点像那种二级联动下拉列表..我的代码如下:(IE下内容写不进去,FF... 我写了个这样的功能,就是上一个select的onchange事件时,把一个值传给下一个select,有点像那种二级联动下拉列表..

我的代码如下:(IE下内容写不进去,FF下没问题)

<title></title>
<script language="javascript" type="text/javascript">
function sub1(id)
{
var s=document.getElementById(id);
var test="<option value='ASP'>ASP</option>";
s.innerHTML=test;}
</script>
</head>

<body>
<p>
<select name="select1" id="select1" onchange="sub1('select2')">
<option selected="selected" value="">--请选择--</option>
<option value="测试">测试</option>
</select>
</p>
<p>
<select name="select2" id="select2">
<option>--请选择--</option>
</select>
</p>
</body>

在IE下..test里的内容写不到select2中去,select2变成空白了...
这个是什么问题啊????
没有,IE还是会跳的。但是就是跳不出那个内容。。。

还有我测试了一下。。
在源码最后加了段。有用的。。
<script language="javascript" type="text/javascript">
{var s=document.getElementById(id);
var test="<option value='ASP'>ASP</option>";
s.innerHTML=test;}
</script>

这样就能改变那个的值。。

TO: wlf5241 谢谢你。
我不是要做二级联动菜单。。。
所以那个方法是不行的。
展开
 我来答
茶苦亦觉甜
2007-08-17 · TA获得超过114个赞
知道小有建树答主
回答量:444
采纳率:0%
帮助的人:133万
展开全部
关于这个问题,我们先进行一个测试:
function sub1(id){
var s=document.getElementById(id);
for(var i=0;i<s.childNodes.length;i++){
alert(s.childNodes[i].nodeName);
}
}
第一次弹出来的是#text,是一个文本节点,这大概是问题的关键,可能2种浏览器innerHTML的时候,就这个原因.
再来解决你的问题:
function sub1(id){
var s=document.getElementById(id);
s.options[s.options.length] = new Option("asp","asp");
}

换成这种写法就跨浏览器了..........
wlf5241
2007-08-17 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:32.9万
展开全部
按你的说法。。。给你写了个例子。。你看看是不是你要的效果`~``

<script language="javascript" type="text/javascript">
var selectarr=[];
selectarr[0]=["测试","asp","asp"];
selectarr[1]=["测试","asp","asp"];
selectarr[2]=["测试1","asp1","asp1"];

function sub1(locationid){
document.all.select2.length = 0;
var locationid=locationid;
var i;
document.all.select2.options[0] = new Option("--请选择--", "");
for (i=0;i < subcat.length; i++){
if(selectarr[i][0]==locationid)
document.all.select2.options[document.all.select2.length] = new Option(selectarr[i][1], selectarr[i][2]);
}

}
</script>
</head>

<body>
<p>
<select name="select1" id="select1" onchange="sub1(document.all.select1.options[document.all.select1.selectedIndex].value)">
<option selected="selected" value="">--请选择--</option>
<option value="测试">测试</option>
<option value="测试1">测试1</option>
</select>
</p>
<p>
<select name="select2" id="select2">
<option>--请选择--</option>
</select>
</p>
</body>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
taoliujun
2007-08-16 · TA获得超过357个赞
知道小有建树答主
回答量:1316
采纳率:0%
帮助的人:1000万
展开全部
IE是否禁止了js
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式