我创建了一个井号和用户提及输入,因此当您输入“@”时,它会显示您可能知道的用户列表。
到目前为止,一切都是Okey,但当我点击用户一个href标签时:
<a href="javascript:void(0);">
<span style="background:url('/uploads/user_00010/thumbs/32x32_d30302e9-07d7-8fd7-dba0-1a217c9c5534.jpg') no-repeat" class="tny_avatar"></span>
<span class="username">Sara</span>
<span style="height:0px;display:block;" class="clr"></span>
</a>
我想取其用户名,并将其直接放在textarea中的正确位置......
我做了什么:
我在textarea中获取当前单词(上一个屏幕截图中的currentWord ='sa')...并将此当前单词替换为列表中用户名范围中的单词。
这个解决方案的问题在于,如果子字符串“sa”存在于textarea中的另一个单词中,它也将替换它。
这是我的js代码:
$('.suggest ul li a').live('click', function () {
var text = $('.quote textarea').val();
var newVal = $(this).find('.username').html();
text = text.replace(lastWord, '@' + newVal);
$('.advText').val(text);
$('.advText').trigger('keyup');
$('.tglst').hide();
});
lastWord是当前单词,其中消隐光标指向;这是一个全局的js变量。
trigger('keyup')
,只是触发一些函数创建一个包含不同颜色(蓝色)的标签和提及的div。这就是它的全部内容。
$('.tglst').hide();
隐藏了下拉列表。
有人知道如何更换当前单词吗?
提前致谢
答案 0 :(得分:1)
正如我的评论中所提到的,你可以替换最后一个单词,这很可能是你当前正在输入的单词。
或者你可以 take a look here ,看看如何获取当前光标位置。之后你会有确切的词来替换。