gpt4 book ai didi

jquery.mention 默认文本

转载 作者:行者123 更新时间:2023-12-01 07:42:41 26 4
gpt4 key购买 nike

我正在尝试实现 jquery.mentions,以便在输入 @ 符号时提示系统中的用户。

一切运行良好,使用 Ajax 查询来填充列表。

但是,编辑现有评论时我很挣扎。

我已将默认文本设置为之前生成的有效值,但它无法正确显示。

渲染的值为

@[Peter Jones](contact:200)

显示为 Peter Jones

如果我将其设置为默认文本,它将显示为@Peter Jones(显示@符号)

这是一个错误吗?有人解决了吗?

我的代码如下

$(function () {

$('textarea.mention').mentionsInput({
defaultValue : '@[Peter Jones](contact:200)',
onDataRequest:function (mode, query, callback) {
$.getJSON('Ajax/GetUserTags.php', function(responseData) {
responseData = _.filter(responseData, function(item) { return item.name.toLowerCase().indexOf(query.toLowerCase()) > -1 });
callback.call(this, responseData);
});
}
});

$('.get-syntax-text').click(function() {
$('textarea.mention').mentionsInput('val', function(text) {
alert(text);
});
});

$('.get-mentions').click(function() {
$('textarea.mention').mentionsInput('getMentions', function(data) {
alert(JSON.stringify(data));
});
}) ;


});

最佳答案

我查看了 jquery.mentionsinput 并调整了 resetInput 函数。

在设置 newMentionText 时,我删除了 Match[1] 元素,即 @ 符号。

    function resetInput(currentVal) {
mentionsCollection = [];
var mentionText = utils.htmlEncode(currentVal);
var regex = new RegExp("(" + settings.triggerChar + ")\\[(.*?)\\]\\((.*?):(.*?)\\)", "gi");
var match, newMentionText = mentionText;
while ((match = regex.exec(mentionText)) != null) {
//alert(match[0] + "\n" + match[1] + "\n" + match[2]);
//newMentionText = newMentionText.replace(match[0], match[1] + match[2]);
newMentionText = newMentionText.replace(match[0], match[2]);
mentionsCollection.push({ 'id': match[4], 'type': match[3], 'value': match[2], 'trigger': match[1] });
}
elmInputBox.val(newMentionText);
updateValues();
}

使用多个标签进行测试,一切正常。

关于jquery.mention 默认文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44894358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com