简单使用 document.createElement 和 new Option 创建一个列表框时碰到的灵异事件,胆小者慎入!!!

r_swordsman 2008-04-24 02:46:59
简单使用 document.createElement 和 new Option 创建一个列表框时碰到的灵异事件,胆小者慎入!!!

运行一下代码,胆小者不要运行,否则吓死了本人不承担任何法律责任!!!

<html>
<head></head>
<body>
<script>

window.onload = function()
{
var sel = document.createElement("select");
document.body.appendChild(sel);
sel.add(new Option("1","1",false,false));
sel.add(new Option("2","2",false,false));
sel.add(new Option("3","3",false,false));
sel.add(new Option("4","4",false,true));
sel.add(new Option("5","5",false,false));
}

</script>
</body>
</html>


谁能解决这个问题?使结果正确,要求一定要使用 document.createElement 来创建 select,添加时使用 new Option,其他的我也会。
...全文
981 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanguangdong 2011-08-11
  • 打赏
  • 举报
回复
太吓人了。。。。。
九戒 2008-06-09
  • 打赏
  • 举报
回复
顶一下
r_swordsman 2008-04-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wdbjsh 的回复:]
我这里是可以的。。。。不知道你怎么会不行。。。
[/Quote]

运行我 13 楼的代码,你哪里选中的是 4 吗?你的操作系统和IE是什么版本?SP多少?
wdbjsh 2008-04-28
  • 打赏
  • 举报
回复
我这里是可以的。。。。不知道你怎么会不行。。。
r_swordsman 2008-04-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wdbjsh 的回复:]
。。。。。老大你老实看看文章能失贞啊。。。。

前面都贴了第四个必须都是true才行。。。。

说一百遍了,第四个是是否有效--跟是否选中没有关系。
[/Quote]

还是不行啊,代码:
<html>
<head></head>
<body>
<script>

window.attachEvent("onload", function()
{
var sel = document.createElement("select");
document.body.appendChild(sel);
sel.add(new Option("1","1",false,true));
sel.add(new Option("2","2",false,true));
sel.add(new Option("3","3",false,true));
sel.add(new Option("4","4",true,true));
sel.add(new Option("5","5",false,true));
sel.add(new Option("6","6",false,true));
});

</script>
</body>
</html>
jackyBody 2008-04-25
  • 打赏
  • 举报
回复
以最后一个参数为准 ,后面覆盖前面的

wdbjsh 2008-04-25
  • 打赏
  • 举报
回复
老大,你看了我给你的链接了没?

第三个才是控制是否选中的,第四个控制的是否有效。。。你的attachevent代码里面还是用的第四个来 控制是否选中,你要能用才叫见鬼
r_swordsman 2008-04-25
  • 打赏
  • 举报
回复
楼上的代码贴错了,应该是这样,不过结果还是 3

<html>
<head></head>
<body>
<script>

window.attachEvent("onload", function()
{
var sel = document.createElement("select");
document.body.appendChild(sel);
sel.add(new Option("1","1",false,false));
sel.add(new Option("2","2",false,false));
sel.add(new Option("3","3",false,false));
sel.add(new Option("4","4",true,true));
sel.add(new Option("5","5",false,false));
});

</script>
</body>
</html>
r_swordsman 2008-04-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wdbjsh 的回复:]
嗯,根据我的检索,你的代码似乎没有什么问题。。。如果你是想让option4默认选中的话你得这么写:
<html>
<head> </head>
<body>
<script>

window.onload = function()
{
var sel = document.createElement("select");
document.body.appendChild(sel);
sel.add(new Option("1","1",false,true));
sel.add(new Option("2","2",false,true));
sel.add(new Option("3","3",false,…
[/Quote]

谢谢...可是放在 attachEvent 里面又不可以了,因为 window.onload 被别的组件使用了,不想改

<html>
<head></head>
<body>
<script>

window.attachEvent("onload", function()
{
var sel = document.createElement("select");
document.body.appendChild(sel);
sel.add(new Option("1","1",false,false));
sel.add(new Option("2","2",false,false));
sel.add(new Option("3","3",false,false));
sel.add(new Option("4","4",false,true));
sel.add(new Option("5","5",false,false));
});

</script>
</body>
</html>
wdbjsh 2008-04-25
  • 打赏
  • 举报
回复
。。。。。老大你老实看看文章能失贞啊。。。。

前面都贴了第四个必须都是true才行。。。。

说一百遍了,第四个是是否有效--跟是否选中没有关系。
r_swordsman 2008-04-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wdbjsh 的回复:]
老大,你看了我给你的链接了没?

第三个才是控制是否选中的,第四个控制的是否有效。。。你的attachevent代码里面还是用的第四个来 控制是否选中,你要能用才叫见鬼
[/Quote]

两个都用 true 也不对啊,你看

sel.add(new Option("4","4",true,true));
wdbjsh 2008-04-24
  • 打赏
  • 举报
回复
http://dingjun.net/article.asp?link=95

这里是option的一个说明,你可以研究研究。。
wdbjsh 2008-04-24
  • 打赏
  • 举报
回复
嗯,根据我的检索,你的代码似乎没有什么问题。。。如果你是想让option4默认选中的话你得这么写:
<html>
<head></head>
<body>
<script>

window.onload = function()
{
var sel = document.createElement("select");
document.body.appendChild(sel);
sel.add(new Option("1","1",false,true));
sel.add(new Option("2","2",false,true));
sel.add(new Option("3","3",false,true));
sel.add(new Option("4","4",true,true));
sel.add(new Option("5","5",false,true));
}

</script>
</body>
</html>

new Option("文本","值",true,true)
后面两个true分别表示默认被选中和有效!
cftea 2008-04-24
  • 打赏
  • 举报
回复
兼容FF:
sel.options.add(new Option("1","1",false,false));
lawrendc 2008-04-24
  • 打赏
  • 举报
回复
我只是来看一哈 不打算做 因为我怕
「已注销」 2008-04-24
  • 打赏
  • 举报
回复
感觉象是给大家的面试题。

不做。

帮顶。

顺便说一句:不要在创建的时候设置selected为true,这样问题多多。

最好在填充完成之后,select.selectedIndex=3。

@_@
cftea 2008-04-24
  • 打赏
  • 举报
回复
在我的浏览器里运行是正确的。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧