1

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

我的代码不断返回“未定义”。在搜索这些论坛时,似乎使用 jQuery 'option: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">
4

1 回答 1

3

text返回一个字符串,String对象没有value属性,使用jQueryval方法,它为多个select元素返回一个值数组,然后你可以使用join数组对象的方法来连接数组的元素:

var select_1 = $("#box1").val();
var CAPtext = select_1.join("\n\n");

http://jsfiddle.net/ZCTRC/

如果您想告别onclick属性:

$('input[type=button]').click(function () {
    var myCAPtext = document.getElementById('CAPoutput');
    myCAPtext.value = $("#box1").val().join("\n\n");
})
于 2013-02-24T05:30:09.647 回答