1

我正在使用一个带有两个选择列表和一个按钮的表单。

我正在尝试当我单击按钮时,我将选择元素从一个选择列表传递到另一个。

问题是,不是删除 1 个元素,而是将所选元素与列表中后面的元素一起删除。

这是我的功能:

  function removeOptions(s1,s2) {

    if (s1.options.length == 0) {
        alert('You have already removed all list items');
        return false;
    }

    var optionToRemove = s1.options.selectedIndex;
    var optn = s1.options[optionToRemove];

    s2.options.add(optn);
    s1.remove(optionToRemove);


    alert('success');
    return true;
}

我的按钮配置:

  <input type=button onClick="removeOptions(selectList1,selectList2)" ; value='Autorizar'>

我正在使用谷歌浏览器。

4

1 回答 1

0

代替 :

 s2.options.add(optn);
 s1.remove(optionToRemove);

行,试试这个:

 s2.appendChild(optn);

optn元素将从一个元素移动到另一个s1元素s2。元素(特别是optn)不能同时有 2 个或更多父元素,因此optn会自动删除s1

于 2012-06-24T18:30:41.850 回答