您的位置:首页 > 其它

在文本框中插入@对象

2017-07-20 00:00 162 查看
一、在文本框中插入@对象

var name = li.children("input[type=checkbox]").attr("data-name");
var textarea = li.parents(".comment-form").find(".comment-box textarea");
var content = textarea.val();
if (content.indexOf(name) < 0) {
var startPos = textarea[0].selectionStart,//光标所选范围的起始位置
endPos = textarea[0].selectionEnd,//光标所选范围的结束位置
cursorPos = startPos,//当前焦点位置=起始位置
content = content.substring(0, startPos) + " @" + name + " "
+ content.substring(endPos, content.length);
cursorPos = content.length; //当前焦点位置=文字尾部位置
textarea[0].selectionStart = textarea[0].selectionEnd = cursorPos;
textarea.val(content);
}

二、在文本框中插入@对象(包含在文本中输入name部分文字后自动搜索弹出选项插入name全部文字)

var name = li.children("input[type=checkbox]").attr("data-name");
var textarea = li.parents(".comment-form").find(".comment-box textarea");
var content = textarea.val();

var startPos = textarea[0].selectionStart,//光标所选范围的起始位置
endPos = textarea[0].selectionEnd,//光标所选范围的结束位置
cursorPos = startPos;//当前焦点位置=起始位置

var content2 = content.substring(0, startPos);
var start = content2.lastIndexOf("@");
if (content2.length - start > 1 && startPos >= start && start >= 0) {
var key = content2.substring(start + 1, content2.length);
console.log(name.indexOf(key));
if (name.indexOf(key) >= 0) content = content.substring(0, start - 1) + " @" + name + " "
+ content.substring(endPos, content.length);
else content = content.substring(0, startPos) + " @" + name + " "
+ content.substring(endPos, content.length);
} else content = content.substring(0, startPos) + " @" + name + " "
+ content.substring(endPos, content.length);
cursorPos = endPos; //当前焦点位置=文字尾部位置
textarea[0].selectionStart = textarea[0].selectionEnd = cursorPos;
textarea.val(content);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息