迄今为止见过的最奇怪的问题

时间:2021-12-28 06:15:52
<select>标记,第一次访问页面,默认显示的是第三个,然后刷新一遍页面后,默认显示变成了第三个,百思不得其解,请各指教




<select name="sort">
</select>
<script type="text/javascript" language="javascript">
var parentOption;

parentOption=new Option('分类施保','01');
document.getElementById("sort").add(parentOption);

parentOption=new Option('医疗救助','02');
document.getElementById("sort").add(parentOption);

parentOption=new Option('临时救济','03');
parentOption.selected=true;
document.getElementById("sort").add(parentOption);

parentOption=new Option('优惠政策','04');
document.getElementById("sort").add(parentOption);

</script>

10 个解决方案

#1


真的好奇怪
我加了两句话就又好了,去掉就又不行了
<select name="sort">
</select>
<script type="text/javascript" language="javascript">
var parentOption;

parentOption=new Option('分类施保','01');
document.getElementById("sort").add(parentOption);

parentOption=new Option('医疗救助','02');
document.getElementById("sort").add(parentOption);

parentOption=new Option('临时救济','03');
alert(parentOption.value);
alert(parentOption.selected);
parentOption.selected=true;
document.getElementById("sort").add(parentOption);

parentOption=new Option('优惠政策','04');
document.getElementById("sort").add(parentOption);

</script>

#2


哈哈,解决了

<select name="sort">
</select>
<script type="text/javascript" language="javascript">
var parentOption;

parentOption=new Option('分类施保','01');
parentOption.selected=false;
document.getElementById("sort").add(parentOption);


parentOption=new Option('医疗救助','02');
parentOption.selected=false;
document.getElementById("sort").add(parentOption);

parentOption=new Option('临时救济','03');
parentOption.selected=true;
document.getElementById("sort").add(parentOption,0);

parentOption=new Option('优惠政策','04');
parentOption.selected=false;
document.getElementById("sort").add(parentOption);
</script>

#3


恭喜,接分

#4


暂时不截贴,等找到原因

#5


parentOption.selected=true;

默认显示的是第三个,然后刷新一遍页面后,默认显示变成了第三个
你想显第几个啊

#6


不好意思,写错了
<select>标记,第一次访问页面,默认显示的是第三个,然后刷新一遍页面后,默认显示变成了

第二个

#7


<select name="sort">
</select>
<script type="text/javascript" language="javascript">
var parentOption;

parentOption=new Option('11111','01');
document.write("1");
document.getElementById("sort").add(parentOption);

parentOption=new Option('22222','02');
document.write("2");
document.getElementById("sort").add(parentOption);

parentOption=new Option('33333','03');
parentOption.selected=true;
document.write("3");
document.getElementById("sort").add(parentOption);

parentOption=new Option('44444','04');
document.write("4");
document.getElementById("sort").add(parentOption);

</script>
 每次输出1234但是还是楼主的问题.
但是把document.write();换成alert()后就是正确的.真不知道为何.可能是IE的bug.

#8


我明白了.
parentOption=new Option('33333','03');
parentOption.selected=true;
document.write("3");
document.getElementById("sort").add(parentOption);
改为:
parentOption=new Option('33333','03');
document.write("3");
document.getElementById("sort").add(parentOption);
parentOption.selected=true;
=true那句放后边.因为你把这个option家到select后设置其selected属性才好用啊.

#9


恭喜你呀

#10


果然是
但是为什么加上alert就可以呢?

#1


真的好奇怪
我加了两句话就又好了,去掉就又不行了
<select name="sort">
</select>
<script type="text/javascript" language="javascript">
var parentOption;

parentOption=new Option('分类施保','01');
document.getElementById("sort").add(parentOption);

parentOption=new Option('医疗救助','02');
document.getElementById("sort").add(parentOption);

parentOption=new Option('临时救济','03');
alert(parentOption.value);
alert(parentOption.selected);
parentOption.selected=true;
document.getElementById("sort").add(parentOption);

parentOption=new Option('优惠政策','04');
document.getElementById("sort").add(parentOption);

</script>

#2


哈哈,解决了

<select name="sort">
</select>
<script type="text/javascript" language="javascript">
var parentOption;

parentOption=new Option('分类施保','01');
parentOption.selected=false;
document.getElementById("sort").add(parentOption);


parentOption=new Option('医疗救助','02');
parentOption.selected=false;
document.getElementById("sort").add(parentOption);

parentOption=new Option('临时救济','03');
parentOption.selected=true;
document.getElementById("sort").add(parentOption,0);

parentOption=new Option('优惠政策','04');
parentOption.selected=false;
document.getElementById("sort").add(parentOption);
</script>

#3


恭喜,接分

#4


暂时不截贴,等找到原因

#5


parentOption.selected=true;

默认显示的是第三个,然后刷新一遍页面后,默认显示变成了第三个
你想显第几个啊

#6


不好意思,写错了
<select>标记,第一次访问页面,默认显示的是第三个,然后刷新一遍页面后,默认显示变成了

第二个

#7


<select name="sort">
</select>
<script type="text/javascript" language="javascript">
var parentOption;

parentOption=new Option('11111','01');
document.write("1");
document.getElementById("sort").add(parentOption);

parentOption=new Option('22222','02');
document.write("2");
document.getElementById("sort").add(parentOption);

parentOption=new Option('33333','03');
parentOption.selected=true;
document.write("3");
document.getElementById("sort").add(parentOption);

parentOption=new Option('44444','04');
document.write("4");
document.getElementById("sort").add(parentOption);

</script>
 每次输出1234但是还是楼主的问题.
但是把document.write();换成alert()后就是正确的.真不知道为何.可能是IE的bug.

#8


我明白了.
parentOption=new Option('33333','03');
parentOption.selected=true;
document.write("3");
document.getElementById("sort").add(parentOption);
改为:
parentOption=new Option('33333','03');
document.write("3");
document.getElementById("sort").add(parentOption);
parentOption.selected=true;
=true那句放后边.因为你把这个option家到select后设置其selected属性才好用啊.

#9


恭喜你呀

#10


果然是
但是为什么加上alert就可以呢?