Jquery AutoComplete对于每个单词

时间:2013-06-27 08:02:30

标签: php jquery mysql autocomplete

我真的在努力使用jQuery的自动完成插件。我的数据库中有一个大字段,里面有多个单词,用空格分隔:

Jumerah Lakes Towers

我可以获得自动填充功能来搜索单个单词。例如。如果我输入“J”,它会给我上面的字符串“Jumerah Lakes Towers”

但是,如果我输入第二个字符如“L”,它会显示所有带有第二个单词的单词,并以下面的L开头:

Jumerah Lakes

依旧......

总之,我希望将第一个字符与第一个字的开头匹配,第二个字符匹配第二个字的开头和儿子......

 $("#txtrefid").autocomplete("autocomplete.php", {
    selectFirst: true
});

我的SQL查询中的 WHERE 条件为LIKE '%$txt%'

4 个答案:

答案 0 :(得分:0)

此插件并非真正用于满足您的愿望。

我建议您创建两个不同的自动填充字段。 然后,您需要链接第一个自动填充选择中的第二个自动完成内容。

通过这种方式,用户可以在不滚动长建议列表的情况下进行快速研究。

答案 1 :(得分:0)

$search = $_REQUEST['search'];
$search = str_split($search, 1);
$search = ' % ' . implode('% ', $search)  . '%';

SELECT ... WHERE `lookup` LIKE '$search'

答案 2 :(得分:0)

对于您的信息,我这样做了

$string = 'HL';
$chars = str_split($string); //split the string into separate characters

$regexp = null; //string for the regexpansion

 foreach($chars as $char) //loop trough the characters
  $regexp .= $char . '[a-z0-9]+ ';

  $regexp = '^' . rtrim($regexp, ' ') . '$'; 
  "WHERE field REGEXP '" . $regexp . "'";

答案 3 :(得分:0)

$search = $_REQUEST['search'];
$search = str_split($search, 1);
$search = '' . implode('|', $search)  . '';

SELECT ... WHERE `lookup` REGEXP '$search'