var shiftup=function(iIndex)
{
var oListbox=document.getElementById("first");
if(iIndex>0){
var oOption=oListbox.options[iIndex];
var oPrevOption=oListbox.options[iIndex-1];
oListbox.insertBefore(oOption,oPrevOption);}
}
上面那个函数,我在下面调用的时候onclick="shiftup(1)"这样调用,
就是想让index为1的这个选项向上移动放在第0个位置,为什么结果网页总是说
'options'为空或不是对象呢,它怎么会为空呢,我的那个<select>里面有4个选项的啊
不是空的啊。。求教

解决方案 »

  1.   

    你的select 里面有值么
    自己检查一下
      

  2.   

    我的<select>是这样的,你们看嘛,应该没问题的吧
    <select id="first" multiple="multiple">
    <option value="1">一</option>
    <option value="2">二</option>
    <option value="3">三</option>
    <option value="4">四</option>
    </select>
    这有指,而且id也是first啊,怎么回事啊,在线等,请教
      

  3.   

    经测试可以
    你吧完整的html贴出来吧
      

  4.   

    参考:http://blog.csdn.net/IBM_hoojo/archive/2010/07/21/5753609.aspx
    http://blog.csdn.net/IBM_hoojo/archive/2010/07/20/5749238.aspx
      

  5.   

    oListbox.insertBefore(oOption,oPrevOption);
    改为:
    oOption.parentNode.insertBefore(oOption,oPrevOption);
    我不能肯定,不知道first到底是什么元素的id?
      

  6.   

    经过测试你的代码没有问题!IE和FF都不会提示options为空!应该是页面里还有其他代码吧!或者重名?