将多个选择选项文本传递给textarea

时间:2013-02-24 05:25:53

标签: javascript jquery forms

我有一个表单,其中有几个选择框,其中一些是多选。到目前为止,我能够将每个选择框中的文本值传递给textarea;但是,我无法从多个选择框中传递多个选项。有人可以帮忙吗?这意味着,我想在多个选择框中传递所有选定的文本,而不仅仅是选择中的第一个项目。

我的代码不断返回'undefined'。在搜索这些论坛时,似乎使用jQuery'选项:selected'修饰符应该返回所有选定项目的文本。

function writeText(){
// get assign the values from each text input
var myCAPtext = document.getElementById('CAPoutput');

// assign multiple text values
var select_1 = $("#box1 option:selected").text();

var  CAPtext = select_1.value+"\n\n";
  myCAPtext.value = CAPtext;
  }

HTML

<select id="box1" multiple>
<option></option>
<option>first text</option>
<option>second text</option>
<option>third text</option>
<option>fouth text</option>
</select>

<input value="Write" onclick="writeText()" type="button"> <br>

<textarea id="CAPoutput">

1 个答案:

答案 0 :(得分:3)

text返回一个字符串,String对象没有value属性,使用jQuery val方法,它返回多个select元素的值数组,然后你可以使用{用于连接数组元素的数组对象的{1}}方法:

join

http://jsfiddle.net/ZCTRC/

如果您想与var select_1 = $("#box1").val(); var CAPtext = select_1.join("\n\n"); 属性说再见:

onclick