触发@mention Autocomplete,如Facebook,Twitter和Google+

时间:2012-03-26 10:40:46

标签: jquery facebook jquery-ui-autocomplete

我一直试图在文本区域添加类似Facebook @tagged Friend name的内容。我一直在使用jquery ui auto-complete来完成这项工作,它工作正常,除了我想要一些符号如@或〜来启动标签,我无法弄清楚如何。有人有想法吗?我正在像Facebook一样将它用于多个朋友标签。

6 个答案:

答案 0 :(得分:8)

我写了一个插件来完成这个:

http://www.hawkee.com/snippet/9391/


$('#inputbox').triggeredAutocomplete({
    hidden: '#hidden_inputbox',
    source: "/search.php",
    trigger: "@" 
});

答案 1 :(得分:5)

您可以使用我编写的引导程序插件库。它适用于ContentEditable div:http://sandglaz.github.com/bootstrap-tagautocomplete/

答案 2 :(得分:1)

答案 3 :(得分:1)

这可能是一个样本。:http://jsfiddle.net/suneeshtr/6ymLD/1/ 还要检查:http://www.hawkee.com/snippet/9391/

答案 4 :(得分:0)

嘿,你可以尝试这样的事情......希望它有效..

$q=$_POST['searchword'];
$q=str_replace("@","",$q); 
$q=str_replace(" ","%",$q);
$sql_response=mysql_query("select * from data where fname like '%$q%' or lname like '%$q%'");
while($row=mysql_fetch_array($sql_response))
{
  $fname=$row['fname'];
  $lname=$row['lname'];  
}

答案 5 :(得分:0)

我已经迟了几年了,但我想我会加上我的两美分,因为它似乎没有人真正回答过这个问题;)。

jQuery UI Autocomplete的source选项用于指定一个数组,其中包含触发小部件后要在下拉列表中显示的项目。它可以定义为这样一个数组,一个返回这样一个数组的函数,或一个生成这种数组的资源的URL。

如果最终成为source值的数组为空,则窗口小部件将不会显示下拉列表。因此,将source定义为只有在输入 @时才能返回非空数组的函数,才能使窗口小部件按照您的意愿运行。

如果您不想经历定义此类函数的麻烦,请查看Mentionator,一个提供提及创建和管理功能的jQuery插件(以及有用的辅助功能)它实际上建立在jQuery UI Autocomplete的功能之上。它由你自己维护:)。