Javascript 使用jQuery将文本追加到textarea的末尾

Javascript 使用jQuery将文本追加到textarea的末尾,javascript,jquery,html,css,dom,Javascript,Jquery,Html,Css,Dom,我正在尝试使用jquery将文本附加到textarea的末尾 我的html代码如下所示: <textarea class='form-control' placeholder="Write something..." id="message" name="message" size='20'></textarea> <fieldset class="form-group"> <div class="checkbox"> <labe

我正在尝试使用jquery将文本附加到textarea的末尾

我的html代码如下所示:

<textarea class='form-control' placeholder="Write something..." id="message" name="message" size='20'></textarea>
<fieldset class="form-group">
  <div class="checkbox">
    <label for="deptList">
      <label for="departments" id="deptList">Select a department
        <small>use this in case you've set up your account to <a
                                                href="#"> include a department</a> at the end
                                            of the text
                                        </small>
      </label>
      <input type="checkbox" value="" class="checkbox-inline" id="deptCheck">
      <select class="form-control" id="departments">
        <option>Dept. 1</option>
        <option>Dept. 2</option>
        <option>Dept. 3</option>
        <option>Dept. 4</option>
        <option>Dept. 5</option>
        <option>Dept. 6</option>
        <option>Dept. 7</option>
      </select>
    </label>
  </div>

</fieldset>
到目前为止: -我可以将下拉选项的值添加到文本区域,但添加时,它会清除所有现有文本

我想实现的是,用户在文本区域中键入一些文本,然后用户从文本区域下的下拉列表中选择一个选项,然后,下拉列表的文本添加到文本区域中键入文本的末尾。我试过从网上的材料,但我似乎没有得到它的权利。我错在哪里


这里有一个链接,指向相同的

要在
文本区域内获取
文本
,您必须使用
val()
函数:
$(“#消息”).val()


演示:

将前两行替换为

var theMessage = $("#message").val();
var theDepartment = $("#departments").val();

先前的回答:这就是我需要的@Cristy谢谢你,伙计@猎鹰:没问题。这是一个非常容易被发现的bug,如果你已经调试了你的代码的话。如果在从
textarea
获取文本后使用
console.log(theMessage)
,您会发现该值不正确。在此之后,您可能会发现问题来自
.text()
函数没有返回正确的值。如果你在Google上搜索“get text from textarea jQuery”,你会找到要使用的正确函数,
.val()
。此外,你可能想阅读以下答案:我使用console进行调试,它显示选项的文本,但textarea没有显示任何内容。我确实尝试过使用val(),但我想我在这一过程中把事情搞混了,所以卡住了。还是谢谢你。
$('#deptCheck').click(function() {

  var theMessage = $("#message").val();
  var theDepartment = $("#departments").find(":selected").text();

  if ($(this).is(":checked")) {

    console.log(theMessage + theDepartment);
    $("#message").val(theMessage + theDepartment);
  } else {
    alert('you have included department in your text, please remove it to avoid extra charges') //disable input
  }
});
var theMessage = $("#message").val();
var theDepartment = $("#departments").val();