求html.option.style.display IE的解决办法
登录 | 论坛导航 -> 华新鲜事 -> 求学狮城 | 本帖共有 3 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2008-06-17 13:34:36  楼主  关注此帖评分:
求html.option.style.display IE的解决办法
最近发现如果在option下用style.display的时候,在firefox下正常,但是在IE下就不正常。
请看
click
在firefox下,点击下面的show/hide,下拉菜单会相应的变化,在IE下则不会。
请问达人,在IE下要怎么做才有跟firefox一样的效果?
This page is intentionally left blank
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2008-06-17 13:35:01  2楼
求html.option.style.display IE的解决办法最近发现如果在option下用style.display的时候,在firefox下正常,但是在IE下就不正常。 请看 click 在firefox下,点击下面的show/hide,下拉菜单会相应的变化,在IE下则不会。 请问达人,在IE下要怎么做才有跟firefox一样的效果? (more...)
原code如下
<html>
<head>
<script type="text/javascript">
function show_hide(id) {
if (document.getElementById(id).style.display == 'block')
document.getElementById(id).style.display = 'none';
else if (document.getElementById(id).style.display == 'none')
document.getElementById(id).style.display = 'block';
document.getElementById('opt').value = 0;
}
</script>
</head>
<body>
<div style="height: 100px"></div>
<form>
<select id="opt" name="option">
<option id="opt0" value=0 style="display: block">default</option>
<option id="opt1" value=1 style="display: block">first option</option>
<option id="opt2" value=2 style="display: block">second option</option>
<option id="opt3" value=3 style="display: block">third option</option>
<option id="opt4" value=4 style="display: block">fourth option</option>
</select>
</form>
<table>
<tr><td>
<a onclick="show_hide('opt1')">show/hide first option</a>
</td></tr><tr><td>
<a onclick="show_hide('opt2')">show/hide second option</a>
</td></tr><tr><td>
<a onclick="show_hide('opt3')">show/hide third option</a>
</td></tr><tr><td>
<a onclick="show_hide('opt4')">show/hide fourth option</a>
</td></tr>
</table>
<div style="height: 800px"></div>
</body>
</html>
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2008-06-17 17:31:52  3楼
这是IE的一个bug, 有几个workaround的方法你可以maintain几个array,然后每次都重建所有options或者用add/remove来动态添加/删除受影响的option: function show_hide(id, text) { var op = document.getElementById(id); var select = document.getElementById("opt"); if (op) { select.remove(op.index); return; } for (var i=0; i id) break; } op = document.createElement('option'); op.text=text; op.id = id; try { select.add(op, select.options[i]); // firefox } catch (ex) { select.add(op, i); // ie } } default first option second option third option fourth option show/hide first option show/hide second option show/hide third option show/hide fourth option (more...)
阁下真乃神人也
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 求学狮城 | 返回上一页 | 本主题共有 3 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码