Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Selectbox值附加到textarea_Javascript_Jquery_Html - Fatal编程技术网

Javascript 将Selectbox值附加到textarea

Javascript 将Selectbox值附加到textarea,javascript,jquery,html,Javascript,Jquery,Html,我似乎有一个非常基本的问题。我正在尝试将选择框中的选定值添加到文本区域中。我还需要用户能够在文本区域添加额外的内容 例如,他们选择一个选项->然后将其添加到选择框->用户可以键入额外信息->然后从选择框中选择另一项,该项在用户添加文本后添加。我遇到的问题是,一旦我将文本添加到文本区域,当您选择一个项目时,它将不再被添加 这是我的代码: <p> <select name="selectfield" id="selectfield"> <option val

我似乎有一个非常基本的问题。我正在尝试将选择框中的选定值添加到文本区域中。我还需要用户能够在文本区域添加额外的内容

例如,他们选择一个选项->然后将其添加到选择框->用户可以键入额外信息->然后从选择框中选择另一项,该项在用户添加文本后添加。我遇到的问题是,一旦我将文本添加到文本区域,当您选择一个项目时,它将不再被添加

这是我的代码:

<p>
  <select name="selectfield" id="selectfield">
    <option value="" selected>- Select -</option>
    <option value="Apples/">Apples/</option>
    <option value="Oranges/">Oranges/</option>
    <option value="Plums/">Plums/</option>
  </select>
</p>

<textarea style="width:100%" name="info" id="info" cols="20" rows="5"></textarea>
我希望我的文本区域中的示例文本是:

Oranges/200Plums/10 etc.

您不能以您正在尝试的方式将
append()
附加到
textarea
。相反,您可以向
val()
提供一个函数,将
select
的选定值添加到当前设置中。试试这个:

$("#selectfield").on("change", function() {
    var $select = $(this);
    $("#info").val(function(i, val) {
        return val += $select.val();
    })
});


不过,我要注意的是,这种模式对用户不是很友好,很容易被用户意外删除select的选定值所破坏。我想你最好把每个项目列成一行,列出自己的输入字段,供用户修改。

啊,我明白了!很好,非常感谢Rory!我正在为航空业开发一款应用程序,它的格式要求信息在一行中,但我同意你的观点。下次我实现类似的东西时,我会记住这一点。你可以让UI更加用户友好,然后在提交时以这种格式构建字符串。我最初曾考虑过这样做,但与我交谈过的所有飞行员都说,这是他们的教学方式,他们每天都这样做,因此具有讽刺意味的是,不同的格式会让它变得更少用户友好型我想是习惯的生物吧!