我正在使用AJAX执行mysql LIKE查询并使用html显示结果集数据。
从查询返回的结果似乎总是使用存储在searchword
变量中的任何内容减去最后一个字符,我不知道为什么。
MySQL: ("SELECT * FROM products WHERE prod_name LIKE '".$searchword."%'")
string(49) "SELECT * FROM products WHERE prod_name LIKE 'ba%'"
时,var_dump
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"/>
答案 0 :(得分:3)
问题是onkeypress在文本字段的值更新之前触发。这就是你看到一个字符延迟的原因。要解决此问题,您可以改为使用 onkeyup 。
<input onKeyUp="search(this.value)" type="text" class="prod-name-input"/>