使用jquery将文本添加到问题的文本

使用jquery将文本添加到问题的文本,jquery,checkbox,textarea,Jquery,Checkbox,Textarea,当我试图用Jquery做一些简单的事情时,有时会感到非常沮丧。 我有一个文本区,用户可以写自己的东西,但也可以从一些预定义的短语中选择并添加它们 所以html看起来像 <textarea id="id_text"></textarea> <div id="predef-phrases> <input type="checkbox"><label>checkbox1</label> <input typ

当我试图用Jquery做一些简单的事情时,有时会感到非常沮丧。 我有一个文本区,用户可以写自己的东西,但也可以从一些预定义的短语中选择并添加它们

所以html看起来像

<textarea id="id_text"></textarea>
<div id="predef-phrases>
    <input type="checkbox"><label>checkbox1</label> 
    <input type="checkbox"><label>checkbox2</label>
    <input type="checkbox"><label>checkbox3</label>
    <input type="checkbox"><label>checkbox4</label>     
</div>
<input type="button" id="add" name="add" value="Add phrases" />

在用户键入一些文本之前,一切正常。然后,当用户按下add按钮时,预定义的短语不会附加到textarea中。我遗漏了什么吗?

不要使用
append
,这只会更改“初始”值,但会直接更改值:

$("#id_text")[0].value += checkbox_text+'\n';
如果愿意,还可以使用
val
功能:

$("#id_text").val(function(_,text){ return text+checkbox_text+'\n'});
但是HTML(缺少结束引号)和选择器(缺少结束大括号)中也有错误

不应将append()用于textarea。相反,您可以尝试以下操作:

$("#id_text").val($("#id_text").val() + '\n' + checkbox_text);
$(“#id_text”).val($(“#id_text”).val()+'\n'+复选框_text);这就是我所做的。我用$(“#id_text”).val($(“#id_text”).val()+复选框_text+'\n')更改了追加;您的固定代码使用append或val()?您刚刚更正了我的代码吗?因为它不允许我在输入文本区域后添加预定义的相位是的,我很抱歉…没有看到滚动所需的短语…抱歉!!:)是的,这正是我最终做到的。非常感谢。 $("#id_text").val($("#id_text").val() + '\n' + checkbox_text);