在将它添加到我的项目之前,我想测试一下它:来自GitHub:https://github.com/jakiestfu/Mention.js的一个类似Twitter的提到用户函数。
问题是,他的演示工作方式是,他手动创建了一些数据,并检索了这些数据。我不得不修改AJAX (我不太擅长使用我的数据库)。
问题是,每当我编写@时,脚本就会完美地向用户展示,但是在从列表中选择一个之后,列表不会消失,并会不断地建议用户。最重要的是,在选择了用户之后输入的任何内容,然后按下返回键,我在用户名之后输入的所有文本都将完全消失。
依赖关系:
head
型
我的剧本
$(document).ready(function(){
$.getJSON('fetch.php', function(data) {
$("#textarea").mention({
users: data
});
});
});fetch.php (它是非常基本的,只用于测试):
header('Content-Type: application/json');
$con =new PDO("sqlite:database.db");
$user_data = array();
$users = $con->query("select * from users");
foreach($users as $key => $val)
{
$user_data[$key]['name'] = $val['f_name'];
$user_data[$key]['username'] = $val['name'];
$user_data[$key]['image'] = " ";
}
echo json_encode($user_data);这是代码,HTML只是一个带有id=textarea的文本区域。
原稿:
$(document).ready(function(){
$("#full").mention({
users: [{
name: 'Lindsay Made',
username: 'LindsayM',
image: 'http://placekitten.com/25/25'
}, {
name: 'Rob Dyrdek',
username: 'robdyrdek',
image: 'http://placekitten.com/25/24'
}, {
name: 'Rick Bahner',
username: 'RickyBahner',
image: 'http://placekitten.com/25/23'
},
});
});如果我使用原始脚本,它可以完美地工作,没有任何问题,但是当我将它更改为我的脚本时,写作问题就开始出现。
发布于 2021-09-26 22:02:13
首先,利用别名获取数据。在这种情况下,比foreach循环更好。
$users = $con->query("select f_name as name, name as username from users");然后用javascript代码将数据打印到控制台。
$(document).ready(function(){
$.getJSON('fetch.php', function(data) {
console.log(data);
$("#textarea").mention({
users: data
});
});
});https://stackoverflow.com/questions/69339177
复制相似问题