请问asp长度和位置的问题?
<script language="javascript">
document.myform.kk.length=1;
document.myform.SmallClassID.options[document.myform.SmallClassID.length]=new option("123");
document.myform.SmallClassID.options[document.myform.SmallClassID.length]=new option("123");
</script>我想问清楚一点点,
我将初始的值设置成length=1,就说明123选项会排在下拉列表的第二个位置.而第一个位置是空的,因为第一位是从0算起的,然后執行document.myform.SmallClassID.options[document.myform.SmallClassID.length]=new option("123")時, 
會將“123”添加到1的位置也就是下拉列表的第二个位置,這時SmallClassID至少有兩個值,length=2 再次執行document.myform.SmallClassID.options[document.myform.SmallClassID.length]=new option("123")時,
因为length=1的初始值被重新赋值成length=2, 这时会将123排到2的位置,也就是下拉列表的第三位.还有一个问题问一下,先是设定初始值length=1,也就是说会在下拉列表的第二个位置生成123,而第一个位置是空的,因为length的初始值
不是设置成0,在下拉列表的第二个位置生成了123选项之后,这个时候length的初始值被重新赋值成length=2,length=2也就是下拉列表的第三个位置,因为第一个位置是空的,第二个位置是123,所以length=2就是下拉列表中的第三个位置了,这个时候把生成的123排到下拉列表的第三个位置,我的问题是为什么当第一次123选项被生成的时候没看到length被重新赋值成2,然到它自己悄悄的被重新赋值成2还有一个问题:如果是计算出select里的option选项的话,可以用document.myform.kk.length,如果select里有一个option选项那么
alert(document.myform.kk.length)跳出来显示的是1
而下面这段代码document.myform.kk.length=1为什么意思就不是select里有一个选项了,初始值设成了1,也就是从1位置开始排起了,
而1不是真正的第一位数而是第二位数,0才是第一位数.
document.myform.kk.length=1 
document.myform.SmallClassID.options[document.myform.SmallClassID.length]=new option("123") 
document.myform.SmallClassID.options[document.myform.SmallClassID.length]=new option("123")

解决方案 »

  1.   

    请问初始值的问题?
    <script language="javascript">
    <!--
    document.reg.kk.length=1;var option1=new Option("123");
    document.reg.kk.options[document.reg.kk.length]=option1;
    alert(document.reg.kk.length);var option2=new Option("456");
    document.reg.kk.options[document.reg.kk.length]=option2;-->
    </script>我想问一下,我将document.reg.kk.length的初始的值设置成了1,然后在下拉列表的第二位生成了123选项,第一位是当然是空的,这个都知道了!问题是我用alert(document.reg.kk.length)打印出来是2,也可以理解了.就是有一点想问的是,这个时候length跳出来的是2,有没有对初始的值length=1进行改变重新赋值成2,如果没有改变的话那么生成456选项的时候就会覆盖掉123的选项排在下拉列表中的第二位,如果length的初始值有被重新赋值成2的话,那么就会排在下拉列表中的第三位,而不会去覆盖第二位的123选项.是不是这样的,当生成123选项后,初始值就变成了length=2了,是不是这样的?