1

我在下面有一个 jquery 代码,其中从下拉菜单中删除了从下拉菜单中选择的选项:

            var selectedOption = jQuery("#modulesDrop option:selected");
            selectedOption.remove();

但是在执行删除之前,我想将下拉菜单中的内容添加到选择框中,但问题是我似乎不知道如何执行此操作。我尝试了下面的代码,但所做的只是从上面的下拉菜单中删除了该选项,并且没有将选项添加到选择框中:

        var selectedOption = jQuery("#modulesDrop option:selected");
        selectedOption.appendTo("#moduleExistForm");
        selectedOption.remove();
4

3 回答 3

1
 var selectedOption = jQuery("#modulesDrop option:selected");
 var appendedObject = '<div>Something</div>';
 selectedOption.before(appendedObject);
 selectedOption.remove();

.append() 方法将指定的内容作为最后一个子项插入因此,如果您选择了对象,请使用 before 或 after 方法。

于 2012-12-07T03:19:42.477 回答
1

摆脱 .remove()。通过使用 appendTo(),您可以将该元素从其当前位置移动到新位置。

如果您只想移动内容,则将值保存到变量并附加它。

var selectedOption = jQuery("#modulesDrop option:selected"),
    selectedOptionValue = selectedOption.val();
selectedOptionValue.appendTo("#moduleExistForm");
selectedOption.remove();
于 2012-12-07T03:21:51.287 回答
1

您不需要调用remove(),因为appendTo()会自动将元素与其原始父元素分离,然后将其附加到您指定的新元素上:

<select id="old">
<option value="dog">dog</option>
<option value="cat">cat</option>
</select>

<input type="button" value="add" id="add"/>

<select id="new">
</select>​
<script>
   $('#add').click(function(){
     var x = $('#old option:selected');
     x.appendTo($('#new'))
    });​
</script>

这是小提琴:http: //jsfiddle.net/8MAny/

于 2012-12-07T03:24:43.323 回答