我一直在尝试在文本区域添加类似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自动完成功能的基础上构建的。它确实由您维护:)。