最开始想每个方法中用一个循环搞定,后来发现循环删除后。options的索引和集合就发生了变化,删除就不成功。有时候还出现selected为空的现象,2个循环就over了;
addMulitOptions.htmlfunction moveLeft() {
var lBox = document.getElementById("leftBox");
var rBox = document.getElementById("rightBox");
var count = 0;;
for (var i = 0, len = lBox.length; i < len; i++) {
if (lBox[i].selected) {
rBox.options.add(new Option(lBox.options[i].text, lBox[i].value));
count++;
}
}
for (var i = 0; i < count; i++) {
lBox.remove(lBox.selectedIndex);
}
}
function moveRight() {
var lBox = document.getElementById("leftBox");
var rBox = document.getElementById("rightBox");
var count = 0;;
for (var i = 0, len = rBox.length; i < len; i++) {
if (rBox[i].selected) {
lBox.options.add(new Option(rBox.options[i].text, rBox[i].value));
count++;
}
}
for (var i = 0; i < count; i++) {
rBox.remove(rBox.selectedIndex);
}
}
a
b
c
d
A
B
C
D