1

我已经看到这个关于如何在文本区域中的光标处插入文本的示例:

http://jsfiddle.net/adamadam123/bTUWa/5/

以上工作正常,但是当我尝试将它添加到我自己的代码(主要是 jQuery)中时,我发现我无法让它工作了 - 下面是我尝试使用该函数的代码示例:

http://jsfiddle.net/adamadam123/bbE48/6/

有人可以帮我让第二个 jsfiddle 工作。注意:真的想要传递 ID,因为有许多具有不同 ID 的 div,但它们都具有相同的 textarea.classname。

谢谢你

<div id="100000000">
  <input id="insertPattern" type="button" value="insert pattern" />
  <textarea class="chatMessengerFooterTextArea">insert some text into this string</textarea>
</div>​
4

3 回答 3

3

您可以使用next获取输入:

var txtarea = $("#"+ID).next('textarea')[0];

http://jsfiddle.net/bbE48/13/

于 2012-11-19T20:24:28.070 回答
0

您修改后的函数将txtarea变量重新定义为 jQuery 对象而不是 DOM 对象。您需要使用.get(0)再次获取 DOM 对象。

var txtarea = $("#"+ID).find('textarea.chatMessengerFooterTextArea').get(0);
于 2012-11-19T20:20:49.433 回答
-1

您需要为 textarea 本身提供一个 ID。您将 :) 传递到 DIV,而不是 textarea。

将您的 textarea 更改为以下内容:

<textarea id="myTextArea" class="chatMessengerFooterTextArea">insert some text into this string</textarea>

而你的 Jquery 代码是这样的:

$('input#insertPattern').click(function() {
    alert('clicked me');
    insertEmoticonAtTextareaCursor('myTextArea', ':)');
});
于 2012-11-19T20:14:57.987 回答