Jquery 文本区域和其他功能的自动完成

Jquery 文本区域和其他功能的自动完成,jquery,Jquery,我正在使用jQuery自动完成 $(function() { var availableTags = [ "ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "F

我正在使用jQuery自动完成

$(function() {
    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ];
    $( "#tags" ).autocomplete({
        source: availableTags
    });
});
尽管我想做的是去掉可用的标签,让它在div.post h3.username中搜索,然后从那里获得用户名。我还想把它用作文本区,这可能吗


下一个问题是,只有当您第一次写入@时,是否可以使此功能正常工作,然后像@T这样的用户将显示所有的T用户?

如果您在“div.post h3.username”中拥有所有想要使用的用户名,那么您必须创建一个包含所有用户名的列表(类似于您想要删除的用户名)但是,如果需要更多帮助,则需要更多关于这些名称如何包含在该元素中的信息

至于使用@检索用户名,这取决于您想要什么。例如,如果您坚持在书写文本旁边必须出现一个包含建议用户名的新框,那么文本区域就不可能出现。这是因为没有跨浏览器解决方案来定位您正在书写的位置的坐标。您必须使用具有contenteditable属性的div,而不是textarea。但是,如果您愿意将这些用户名包含在textarea下面的另一个div中,那么这是完全可能的。如果你想描述你所期望的,也许我可以提供一些代码


不过,您可能更喜欢自动补全。

如果您想做一些奇特的补全,比如根据内容从一个列表或另一个列表中进行搜索,您需要做一个自定义搜索功能。而不是
source:availableTags
您将执行以下操作

source: function(request, response) { .... } 

有关如何编写该函数的更多详细信息,请参阅,但这将为您提供解析@符号等类似内容所需的灵活性。

动态生成标记列表非常简单。不要为
source:
选项提供数组,而是提供一个搜索DIV并返回所有匹配标记的函数


由于源函数可以查看用户键入的内容,因此它可以在输入中搜索以
@
开头的单词,并在查找补全时使用该单词。

列表可以正好位于文本区域旁边,这很好!虽然我要说的是,我们在这个文本区域。当我写@I时,我希望该div出现在我选择的左侧或右侧,并显示在该页面上发布的用户列表。当你靠近的时候会变小,比如@Rober会想出Robert Smith(注意,我使用的代码不会处理名称中的空格,我相信只添加了%20)。然后hexist和Barmar的建议对你很有效。这里是一个演示。唯一的问题是,我是一个新手,你可以告诉我。还有我不太明白的《赫克西斯主义》。我不明白他在说什么,也不知道该怎么做。记住我是个新手,哈哈,没问题。这是旧的Jquery UI自动完成文档。也许你会发现它更容易理解谢谢罗伯特·史密斯的帮助!非常感谢。当然,我还没有让它工作,但我仍然喜欢它的帮助。不管你是否工作,我都会给你回电。现在我接受你的回答,因为你在这方面帮了我更多。理解是我想要的,但一个代码更多的种类可能会有帮助lol。谢谢阿加尼尝试看链接,这让我很困惑lol。谢谢你这么快回答。顺便说一句。我会再试一次看它