今天遇到一个事,自己感觉很奇怪,一直困惑着,想让大家告知下原因:
我在 Html页面中测试,一个一个的删除没问题,js语句为var tt = document.forms[0].mselect;//mselect为下拉框的名字
var uu = tt.selectedIndex;
tt.options.remove(uu);因为项目里面有个jsp页面要做到这点,然后我就写到jsp里面去,事情就来了,js语句:var selObj = document.forms[0].testName;
var selIndex = selObj.selectedIndex;
if(selIndex!=-1){
selObj.options.remove(selIndex);//只要一执行这句,jsp页面是上的下拉框就显示,就跟隐藏了一样
}最后没办法,上网找找看还有没有别的方式删除,找到了,然后改为:selObj.options[selIndex].removeNode(true);//这样在jsp里面有能行。这是为什么呢?我想说:这是为什么呢?这是为什么呢?这是为什么呢?这是为什么呢?这是为什么呢?

解决方案 »

  1.   

    这是 JS兼容性问题
    remove 找不到节点 
      

  2.   

    只要一执行这句,jsp页面是上的下拉框就显示,就跟隐藏了一样
    没有看明白这句话什么意思。
      

  3.   


    更正下
    var selObj = document.forms[0].testName;
    var selIndex = selObj.selectedIndex;            
    if(selIndex!=-1){
    selObj.options.remove(selIndex);//只要一执行这句,jsp页面是上的下拉框就消失,就跟隐藏了一样
    //本来应该是执行到这句,选中的那个值应该删除,可是它整个下拉框都消失了。
    }
    可能是什么兼容问题吧,但我没听说兼容 html和兼容jsp这回事,只知道js在浏览器之间存在兼容性问题。!!