jquery - MySQL:简单的 LIKE 语句与预期的模式不匹配

标签 jquery mysql ajax

我正在使用 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/

相关文章:

PHP PDO 安全

javascript - 如何从异步调用返回响应?

javascript - jquery 绑定(bind)事件不会在手机上触发

jquery - 可选 NFC 登录到基于 Web 的系统

javascript - 如何将转换后的文本字符串还原为原始 HTML 布局?

php - 如何使用 Codeigniter 的事件记录将结果集转换为对象数组?

javascript - 如何将我的 divB 高度设置为等于同一个 divA 中的另一个 divC

php - 如何在可移植媒体(例如 CD、USB 和/或 iPhone)上运行 PHP 和 MySQL 的等价物

javascript - 如何让 jQuery 弹出窗口要求用户登录或在未登录时进行注册?

javascript - 为什么我在nodeJS服务器上收不到文件?