Javascript 使用jQuery将文本追加到textarea的末尾
我正在尝试使用jquery将文本附加到textarea的末尾 我的html代码如下所示: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
<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();