0

我正在使用 AJAX 执行 mysql LIKE 查询并使用 html 显示结果集数据。

从查询返回的结果似乎总是使用存储在searchword变量中的任何内容减去最后一个字符,我不知道为什么。

MySQL: ("SELECT * FROM products WHERE prod_name LIKE '".$searchword."%'")

var_dump 当搜索词 var 包含 '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"/>
4

1 回答 1

3

问题是 onkeypress 在文本字段的值更新之前触发。这就是您看到一个字符延迟的原因。要解决此问题,您可以改用onkeyup

<input onKeyUp="search(this.value)" type="text" class="prod-name-input"/>
于 2012-12-08T19:11:25.647 回答