所以,我已经在我的输入字段中实现了“Jquery Autocomplete”。
HTML
<input type="text" id="objekt_nr">
JS
$(function() {
$( "#objekt_nr" ).autocomplete({
source: 'file.php',
minLength: 2,
});
});
在谷歌上阅读(文档中没有信息)之后,我明白你需要在“服务器端”php脚本中安装过滤器。我在那里使用了一些过滤。
PHP
$term = trim(strip_tags($_GET['term']));
$query = "SELECT DISTINCT column1 as value FROM table WHERE column1 LIKE '".$term."%'";
我的问题是“捕获”只是过滤了第一个或第二个特征
当我打字时,错过拟合字符不会过滤掉。
示例:我输入2133 ..不,我也可以看到:2135 ..
我怎么解决这个问题呢?
我需要自己编写on keyup, function
吗?
因为我在文档中找不到任何相关内容。
答案 0 :(得分:1)
如果我理解正确,您希望它根据部分匹配进行过滤(例如,当您输入2133
时,显示2
,21
,213
的结果,和2133
)。
假设以上情况属实,您不需要在jQuery中执行任何操作 - 完全在PHP中。因此,修改上面的代码:
$term = trim(strip_tags($_GET['term']));
for($i=1; $i<=strlen($term); $i++) {
$test_term = substr($term, 0, $i);
$query = "SELECT DISTINCT column1 as value FROM table
WHERE column1 LIKE '".$test_term."%'";
}