我有一个表单,其中有几个选择框,其中一些是多选的。到目前为止,我能够将文本值从每个选择框传递到文本区域;但是,我无法从多选框中传递多个选项。有人可以帮忙吗?意思是,我想传递多个选择框中的所有选定文本,而不仅仅是选择中的第一项。
我的代码一直返回“undefined”。在搜索这些论坛时,似乎使用 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">
最佳答案
text
返回一个字符串,String 对象没有value
属性,使用jQuery val
方法,它返回一个值数组多个选择元素,那么你可以使用数组对象的 join
方法来连接数组的元素:
var select_1 = $("#box1").val();
var CAPtext = select_1.join("\n\n");
如果您想告别onclick
属性:
$('input[type=button]').click(function () {
var myCAPtext = document.getElementById('CAPoutput');
myCAPtext.value = $("#box1").val().join("\n\n");
})
关于javascript - 将多个选择选项文本传递给文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15048968/