左侧列表有2000条数据,右侧没有数据,做了一个左右移入移出的脚本,当左侧列表同时移入多条数据到右侧列表时,我用的是remove方法删除左侧列表当前转移的那一行数据,当多条数据转移至右侧列表之后,左侧列表出现了显示问题,如图1;
    然后当我鼠标第一次点击左侧空白的那条数据之后,出现的情况如图2,现象为空白的那条数据显示为其下一条数据(图上出现了2个"F68534_118"),然后当我点击第二个"F68534_118"之后,效果如图3,变成其下一条数据,了"F68535_119";
    我在IE8下测试显示正常,但在IE6下显示就是如上述。
以下贴出代码:var countTotal = "0"; //转移了几次
var beginRow = "";   //记录第几行转移

//左侧列表选中数据移入右侧
for (var i = 0; i < form.selectable.options.length; i++) {
if (form.selectable.options[i].selected == true) {
form.selectable2.options.length++;
form.selectable2.options[form.selectable2.options.length - 1].text = form.selectable.options[i].text;
form.selectable2.options[form.selectable2.options.length - 1].value = form.selectable.options[i].value;
beginRow = beginRow+','+i;
countTotal++
}
}

//删除左侧已移入右侧的数据(即选中的数据)
for(var a=form.selectable2.options.length - 1;a>=0;a--){
if(countTotal>0){
var aa = beginRow.split(",")[countTotal]; //获得第a行转移的行标
countTotal--;
form.selectable.remove(aa)  //删除第aa行
}
}其中selectable表示左侧列表的name,selectable2表示右侧列表的name。