像Facebook、Twitter和Google+一样触发了@提及自动完成



我一直在尝试在文本区域添加类似Facebook@tagged Friend name的内容。我一直在使用jquery-ui-auto-complete来完成这项工作,它工作得很好,只是我想要一些符号,比如@或~来启动标签,我不知道怎么做。有人有想法吗?我把它用于多个朋友标签,就像Facebook一样。

我写了一个插件来实现这一点:

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


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

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

这是另一个(由@等起始字符触发)http://www.9lessons.info/2010/08/tag-friends-with-jquery-ajax-and-php.html

这可能是一个有用的示例http://jsfiddle.net/suneeshtr/6ymLD/1/同时检查:http://www.hawkee.com/snippet/9391/

嘿,你可以试试这样的。。。希望它能起作用。。

$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'];  
}

我迟到了几年,但我想我应该加上我的两美分,因为看起来还没有人真正回答这个问题;)。

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

如果最终成为source值的数组为空,则小部件不会显示下拉列表。因此,将source定义为仅当输入@时才能够返回非空数组的函数,这将使小部件的行为符合您的要求。

如果你不想经历定义这样一个函数的麻烦,可以看看Mentalator,这是一个jQuery插件,它提供了提及创建和管理功能(以及有用的辅助功能),实际上是在jQuery UI自动完成功能的基础上构建的。它确实由您维护:)。

最新更新