请问下拉列表选项开溜的问题? 第一段代码:
<form name="reg">
<select name="fd"></select>
</form>
<script language="javascript">
document.reg.fd.length=0;
var option1=new Option("123");
document.reg.fd.options[document.reg.fd.length]=option1;
var option2=new Option("456");
document.reg.fd.options[document.reg.fd.length]=option2;
var option3=new Option("789");
document.reg.fd.options[document.reg.fd.length]=option3; function kk(cs)
{
if (cs==1);
{
document.reg.fd.length=0;
var option1=new Option("aaa");
document.reg.fd.options[document.reg.fd.length]=option1;
var option2=new Option("bbb");
document.reg.fd.options[document.reg.fd.length]=option2;
}
}
</script>
<button name="b1" onclick="kk(1)">button</button>
---------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------- 第二段代码:
<form name="reg">
<select name="fd"></select>
</form>
<script language="javascript">
<!--
var option1=new Option("123");
document.reg.fd.options[0]=option1;
var option2=new Option("456");
document.reg.fd.options[1]=option2;
var option3=new Option("789");
document.reg.fd.options[2]=option3; function kk(cs)
{
if (cs==1);
{
var option1=new Option("aaa");
document.reg.fd.options[0]=option1;
var option2=new Option("bbb");
document.reg.fd.options[1]=option2;
}
}
-->
</script>
<button name="b1" onclick="kk(1)">button</button>
----------------------------------------------------------------------------------------------
第一段代码中,第一次生成了123,456,789三个选项,
理解为分别对应option[0],option[1],option[2]这三个元素.
然后调用过程kk(cs)对第一次生成的代码进行覆盖,覆盖第一个选项成aaa,覆盖第二个选项成bbb,
问题是我只覆盖(123和456)成aaa和bbb,并没有覆盖789,为什么覆盖后只显示aaa和bbb,而没覆盖的789跑哪去了? *******************************************************
第二段代码中,第一次生成了123,456,789三个选项,
对应着option[0],option[1],option[2]这三个元素.
然后我调用过程kk(cs)对第一次生成的选项进行覆盖,覆盖第一个选项成aaa,覆盖第二个选项成bbb,
我只覆盖(123和456)成aaa和bbb,没有覆盖789,显示出来后是aaa,bbb,789三个选项,这个789是第一次生成的第三个元素值
这里没有对第三个元素值进行覆盖,所以显示出来的可以保留第三个元素的值789. 问题是为什么在第一段代码中我调用过程,只覆盖123和456并没覆盖789,为什么显示出来的只有aaa和bbb,而789开溜了? 第二段代码789就不会开溜.
<form name="reg">
<select name="fd"></select>
</form>
<script language="javascript">
document.reg.fd.length=0;
var option1=new Option("123");
document.reg.fd.options[document.reg.fd.length]=option1;
var option2=new Option("456");
document.reg.fd.options[document.reg.fd.length]=option2;
var option3=new Option("789");
document.reg.fd.options[document.reg.fd.length]=option3; function kk(cs)
{
if (cs==1);
{
document.reg.fd.length=0;
var option1=new Option("aaa");
document.reg.fd.options[document.reg.fd.length]=option1;
var option2=new Option("bbb");
document.reg.fd.options[document.reg.fd.length]=option2;
}
}
</script>
<button name="b1" onclick="kk(1)">button</button>
---------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------- 第二段代码:
<form name="reg">
<select name="fd"></select>
</form>
<script language="javascript">
<!--
var option1=new Option("123");
document.reg.fd.options[0]=option1;
var option2=new Option("456");
document.reg.fd.options[1]=option2;
var option3=new Option("789");
document.reg.fd.options[2]=option3; function kk(cs)
{
if (cs==1);
{
var option1=new Option("aaa");
document.reg.fd.options[0]=option1;
var option2=new Option("bbb");
document.reg.fd.options[1]=option2;
}
}
-->
</script>
<button name="b1" onclick="kk(1)">button</button>
----------------------------------------------------------------------------------------------
第一段代码中,第一次生成了123,456,789三个选项,
理解为分别对应option[0],option[1],option[2]这三个元素.
然后调用过程kk(cs)对第一次生成的代码进行覆盖,覆盖第一个选项成aaa,覆盖第二个选项成bbb,
问题是我只覆盖(123和456)成aaa和bbb,并没有覆盖789,为什么覆盖后只显示aaa和bbb,而没覆盖的789跑哪去了? *******************************************************
第二段代码中,第一次生成了123,456,789三个选项,
对应着option[0],option[1],option[2]这三个元素.
然后我调用过程kk(cs)对第一次生成的选项进行覆盖,覆盖第一个选项成aaa,覆盖第二个选项成bbb,
我只覆盖(123和456)成aaa和bbb,没有覆盖789,显示出来后是aaa,bbb,789三个选项,这个789是第一次生成的第三个元素值
这里没有对第三个元素值进行覆盖,所以显示出来的可以保留第三个元素的值789. 问题是为什么在第一段代码中我调用过程,只覆盖123和456并没覆盖789,为什么显示出来的只有aaa和bbb,而789开溜了? 第二段代码789就不会开溜.
第一段中对下拉框长度重新定义了(下拉框长度是可以set的)
//document.reg.fd.length=0;
重新定义后就没有第三个 789 选项了!可以改成如下:document.reg.fd.length=0;
var option1=new Option("123");
document.reg.fd.options[document.reg.fd.length]=option1;
var option2=new Option("456");
document.reg.fd.options[document.reg.fd.length]=option2;
var option3=new Option("789");
document.reg.fd.options[document.reg.fd.length]=option3;function kk(cs)
{
if (cs==1);
{
//document.reg.fd.length=0;
var option1=new Option("aaa");
document.reg.fd.options[0]=option1;
var option2=new Option("bbb");
document.reg.fd.options[1]=option2;
}
}
第二段则没有重新定义只是覆盖了。