Javascript从选择中删除元素

标签 javascript html onclick

我使用的表单包含两个带有按钮的选择列表。

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

问题是,所选元素不是删除​​ 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'>

我使用的是 Google Chrome。

最佳答案

而不是:

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

行,试试这个:

 s2.appendChild(optn);

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

关于Javascript从选择中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11180044/

相关文章:

javascript - 如何在 onclick 之后禁用一个按钮,但它在另一个函数中?

javascript - 使用微调器单击按钮上的 BlockUI

javascript - 我如何在 jquery 中将下拉列表设置为只读?

android - 在一个类中保留多个 OnClickListeners

javascript - 如何从多个 div 中的不同 html 输入标签获取值?

html - Accordion 切换折叠不按预期工作

javascript - 如何修复 : Meteor Method fired twice with onClick or onKeyPress with React

javascript - 解构导入语句

javascript - CSS3 缩放图像到容器中心

javascript有效补丁文件错误