呵呵,你的代码有问题。
因为它肯定只会清空当前选中的那个Option,因为浏览器是一次性刷新的。
全部清空Select列表的代码如下:
var intLength = sel1.length;   // 注意:不能在For循环中用sel1.length
for(var i = 0;i < intLength; i++)
{
     sel1.options[0] = null;    // 注意:是0,而不是i

这样,我们每次都清空第一个就对了。

解决方案 »

  1.   

    <span id="hello"><select name="kkkk">……</span>
    <script language=javascript>
    document.all["hello"].innerHTML="<select name='kkkk'></select>";
    </script>
    //////////////呵呵一下子全干掉了!!
      

  2.   

    清空循环不能这样写.应该这样写:var x=0;
    while(x<sel1.length)
    {
       if(sel1.options[x].selected)
       {
          sel1.options[x]=null;
          x--;   
       }
       x++;
    }动态删除 list 的项目时,其 length 是不断的变化的,所以不能用 for语句。
      

  3.   

    To:yukeelau(玉骐)
    可以用for语句的,就看你怎么写了,我上面的代码肯定是可以的,
    因为我最开始就得到了Length,变化之后对我没有影响,然后我每次都删掉第一个,一点问题没有!