javascript - 将多个选择选项文本传递给文本区域

标签 javascript jquery forms

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

我的代码一直返回“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");

http://jsfiddle.net/ZCTRC/

如果您想告别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/

相关文章:

javascript - 如何使用CSS更改自定义光标的选择提示

javascript - 是否有从 iFrame 文档调用父文档中的函数的 jQuery 约定?

javascript - 使用 ng-repeat 和 limit-to 以及来自 tether.js 的工具提示时,在 jQuery 中出现上下文错误

jquery - 使用 jQuery 填写表单

forms - 保留表单数据的策略(在选项卡/浏览器关闭时)

javascript - jQuery 表单提交返回 false 而不是等待服务器响应

javascript - JSON 和 jQuery 搜索

javascript - 重试模式弹出 AngularJS

javascript - 提交表单时不使用 javascript 发送图像,不刷新页面

javascript - 移动到子菜单后使菜单保持悬停状态