我正在使用 AJAX 执行 mysql LIKE 查询并使用 html 显示结果集数据。
似乎查询返回的结果总是使用存储在 searchword
变量中减去最后一个字符的任何内容,我不知道为什么。
MySQL: ("SELECT * FROM products WHERE prod_name LIKE '".$searchword."%'")
var_dump when searchword var contains 'bab' = string(49) "SELECT * FROM products WHERE prod_name LIKE 'ba%'"
JQuery/AJAX:
function search(searchword) {
$('.smart-suggestions').load('invoice-get-data.php?searchword=' + searchword);
}
标记
<input onKeyPress="search(this.value)" type="text" class="prod-name-input"/>
最佳答案
问题是 onkeypress 在文本字段的值更新之前触发。这就是您看到一个字符延迟的原因。要解决此问题,您可以改用 onkeyup。
<input onKeyUp="search(this.value)" type="text" class="prod-name-input"/>
关于jquery - MySQL:简单的 LIKE 语句与预期的模式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13780714/