我真的在努力使用jQuery的自动完成插件。我的数据库中有一个大字段,里面有多个单词,用空格分隔:
Jumerah Lakes Towers
我可以获得自动填充功能来搜索单个单词。例如。如果我输入“J”,它会给我上面的字符串“Jumerah Lakes Towers”
但是,如果我输入第二个字符如“L”,它会显示所有带有第二个单词的单词,并以下面的L开头:
Jumerah Lakes
依旧......
总之,我希望将第一个字符与第一个字的开头匹配,第二个字符匹配第二个字的开头和儿子......
$("#txtrefid").autocomplete("autocomplete.php", {
selectFirst: true
});
我的SQL查询中的 WHERE 条件为LIKE '%$txt%'
答案 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'