onClick将文本插入或附加到textarea中

时间:2012-12-19 19:25:07

标签: jquery

我希望能够做到这一点,而不会浪费任何时间来看似他们几乎回答的帖子,但不要。谢谢你的帮助。 我想单击Book并将'lit:'的值输入或附加到名为Discussion的文本区域中,其中某些文本已经存在。请纠正我的错误,这样我剩下的四个脑细胞就会很开心。谢谢。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<php $m=1;?>

<Book>Book</Book>
<textarea name="Discussion[]" class="cleanup mceEditor" 
id="Discussion<?php echo $m;?>"><?php echo $row_review['Discussion']; ?></textarea>


<script type="text/javascript">
$(document).ready(function(){ 
   $("Book").click(function(){
      $("#Discussion<?php echo $m;$m++;?>").val('lit:');
   }); 
}); 
</script>

2 个答案:

答案 0 :(得分:2)

假设唯一的问题是你希望它附加文本而不是替换它,你可以在onclick函数中做这样的事情:

var $elm = $("#Discussion<?php echo $m;$m++;?>")
$elm.val($elm.val() + 'lit:');

这会将“lit:”附加到textarea。

答案 1 :(得分:1)

如果您正在使用TinyMCE(我根据您的代码中的mceEditor类做出的假设),您将需要执行以下操作:

tinyMCE.execCommand('mceInsertContent',false,'lit:');

这将在光标所在的位置插入“lit:”文本。如果你愿意,你可以变得更加漂亮,并加入undos:

tinyMCE.execCommand('mceBeginUndoLevel');
tinyMCE.selectedInstance.execCommand('mceInsertContent', false, 'lit:');
tinyMCE.execCommand('mceEndUndoLevel');
相关问题