急,选项值丢失问题?
<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;
var option4=new Option("000");
document.reg.fd.options[3]=option4;
function kk(cs)
{
if (cs==1);
{
document.reg.fd.length=1;
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>当我调用过程的时候没有对option[0]进行覆盖,只把456覆盖成aaa; 789覆盖成bbb;
000也没有覆盖或清空,(显示出来后是123,aaa,bbb这三个),没对123进行覆盖或清空他的值可以保留着,
同样没覆盖或清空000为什么就跑没了?怎么回事?

解决方案 »

  1.   

    是因爲[document.reg.fd.length=1; ]這一句;
    你把option的長度改掉了,也就是把選項的個數給改了;
    設完之後,就只有一個選項[123]了,加上後面追加的2個;
    所以最後一共3個選項咯。
      

  2.   

    <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; 
    var option4=new Option("000"); 
    document.reg.fd.options[3]=option4; 
    function kk(cs) 

    if (cs==1); 

    document.reg.fd.length=1; 
    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> 
    其中
    if (cs==1); 不知道你是想做判断呢?还是不想?
    document.reg.fd.length=1;改成document.reg.fd.length=0;就是你想要的结果了.
      

  3.   

    不好意思,是去掉document.reg.fd.length=1;