Javascript |将所选项目从列表框复制到文本区域

Javascript |将所选项目从列表框复制到文本区域,javascript,text,copy,Javascript,Text,Copy,我知道这是个愚蠢的问题,但我对Javascript还是新手。 我有以下列表框: <select id = 'data' multiple='multiple'> <option>test@email.com</option> <option>test@email.com</option> <option>test@email.com</option> <option>t

我知道这是个愚蠢的问题,但我对Javascript还是新手。

我有以下列表框:

<select id = 'data' multiple='multiple'>
    <option>test@email.com</option>
    <option>test@email.com</option>
    <option>test@email.com</option>
    <option>test@email.com</option>
    <option>test@email.com</option>
 </select>

test@email.com
test@email.com
test@email.com
test@email.com
test@email.com
列表框下有一个文本区域:

<textarea id = 'copydata'>
</textarea>

文本区域下方有一个按钮:

<button id = 'add'>add email</button>
添加电子邮件
我想知道,当用户使用Javascript按下按钮时,是否可以将列表框中选择的项目复制到文本区域

请注意,listbox具有多个属性,因此用户可以选择多个项目


非常感谢您提供的任何帮助。

是的,这是可能的,但您应该使用jQuery使其更简单:

$("#add").click(function(){ // This event fires when you click the add button
    $("#data option:selected").each(function(){ // Loop through each selected option
        $("#copydata").val($("#copydata").val() + $(this).text() + "\n"); // Add its innerhtml to the textarea
    });
});

下面是使用核心HTML和Javascript的解决方案


函数copyDataToTextArea(){
var_data=document.getElementById(“数据”);
var_textArea=document.getElementById(“copydata”);
var _selectedData=“”;

对于(i=0;i谢谢你。它起作用了。还有一个问题:是否可以将每个项目添加到自己的行中?是的,只需更改
$(“#copydata”)。将($(this.text());
附加到
$(“#copydata”)。附加($(this.text()+“\n”)
你知道奇怪的是什么吗?如果我手动将文本添加到文本区域,然后尝试通过Javascript添加文本,那就行不通了。非常感谢!我真的很感激!