jquery在X字符后插入文本到textarea

时间:2013-04-25 16:38:34

标签: jquery

    var currentposition = 10; // after 10 characters
    var text = ":)";

    $(".insert").click(function () {
           // Need help here
    });

<textarea id="messagebox">Example text for the code</textarea>

如何在一定数量的字符后插入textarea中的文本(textarea中有文本),在本例中为10.在textarea中根本没有任何文本,在这种情况下,currentposition将是0

此代码的目的是在当前光标位置输入表情符号。

1 个答案:

答案 0 :(得分:4)

我建议使用.substring()

之类的内容
var currentposition = 10;
var text = ":)";

$('textarea').val($('textarea').val().substring(0,currentposition) + text + 
    $('textarea').val().substring (currentposition));

<强> Jsfiddle example

更新:如果您想将光标放在文本的末尾,可以尝试在更改textarea的值之前调用.focus()方法

$('textarea').focus().val($('textarea').val().substring(0,position) + ' :) ' + 
    $('textarea').val().substring (position));

但我不确定它是否适用于所有浏览器(IE可能存在问题)