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 谢谢你。
我不是要做二级联动菜单。。。
所以那个方法是不行的。 展开
我的代码如下:(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 谢谢你。
我不是要做二级联动菜单。。。
所以那个方法是不行的。 展开
3个回答
展开全部
关于这个问题,我们先进行一个测试:
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");
}
换成这种写法就跨浏览器了..........
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");
}
换成这种写法就跨浏览器了..........
展开全部
按你的说法。。。给你写了个例子。。你看看是不是你要的效果`~``
<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>
<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>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IE是否禁止了js
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询