我正在研究这个小的 Js 模块,其中有一个标签列表:
例如:用户名、电子邮件等
当我点击用户名时,它应该在 textarea 中自动输入 [USERNAME]。我已经尝试过并且工作正常。
这是小提琴
现在的问题是当我添加 tag 时,它总是添加在文本的末尾。
看看这个字符串:嗨 [USERNAME] ,这是你的 ['EMAIL']。
现在,如果我忘记选择 [USERNAME] 并输入:嗨,这是您的 ['EMAIL']。
所以现在如果我点击 Hi 然后我选择Username Tag,它将在末尾添加标签而不是在“Hi”之后添加它
我该如何解决这个问题?
这是我的代码:
JS:
$('.tags').click(function (){
var currentTag = $(this).attr("id");
var currentTxt = $('#description').val();
$('#description').val(currentTxt+currentTag);
});
HTML:
<table width="300" border="0" cellspacing="8" cellpadding="0">
<tr>
<td>Tags: <a href="javascript:void(0);" class="tags" id="[USERNAME]">USERNAME</a> , <a href="javascript:void(0);" class="tags" id="[EMAIL]">EMAIL</a></td>
</tr>
<tr>
<td>
<textarea name="description" id="description" cols="45" rows="5"></textarea></td>
</tr>
</table>
你也可以在这里查看我的 DEMO:http: //jsfiddle.net/kyfa2/1/
用非常简单的话:在 textarea 中输入这个句子:
Hi , this is your Email
现在在 Hi 之后单击,然后单击用户名标签。
我想要这样:
Hi [USERNAME] , this is your Email.