【问题标题】:Mention.js doesn't stop suggesting usersMention.js 不会停止向用户推荐
【发布时间】:2021-11-19 03:56:51
【问题描述】:

我想在将它添加到我的项目之前测试一些东西:来自 GitHub 的类似 Twitter 的提及用户功能:https://github.com/jakiestfu/Mention.js

问题在于,他的演示工作方式是,他手动创建了一些数据并检索了这些数据。我不得不将它修改为 AJAX(我不太擅长使用我的数据库)。

问题是,每当我写@时,脚本都会完美地提示用户,但是从列表中选择一个后,列表不会消失并不断提示用户。最重要的是,在选择用户后,无论我在用户名后面输入什么,然后按回车键,我在用户名后面输入的所有文字都会完全消失。

依赖关系:

  1. 引导式头部
  2. jquery
  3. mention.js

我的脚本

$(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'
                }, 
            });
        });

如果我使用原始脚本,它可以完美运行,没有任何问题,但是当我将其更改为我的脚本时,写作问题开始出现。

【问题讨论】:

    标签: php html jquery ajax sqlite


    【解决方案1】:

    首先通过别名获取数据。在这种情况下比 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
                });
            });
                
        });
    

    【讨论】:

    • 这是目前处于测试环境中,这就是代码混乱的原因。我确实改变了它,但仍然没有解决我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    相关资源
    最近更新 更多