javascript - 如何实现input框获取实时输入的值传入后台PHP中查询相关结果后返回到前台实时显示结果?
天蓬老师
天蓬老师 2017-04-11 13:19:18
[JavaScript讨论组]

如题,我找了网上的插件。一个是jquery-input-match,这个我照着做了,但是没有办法实时显示结果,只能是提前查好全部结果后传给html页面,然后根据输入的值显示不同的结果,这个不是我想要的。网址:http://www.open-open.com/lib/...。另外一个是脚本之家的一个例子,但是他使用的是onkeyup,这个如果我想要输汉字的时候,就没法用。请大神帮忙看下如何解决,谢谢。(就像是百度搜索输入框里边的那样,随便输入一个汉字或者字符,都会出现相应的候选项)

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(6)
高洛峰

如果你觉得onkeyup不行,可以用oninput事件,另外得判断用户是不是暴力输入,所以配合函数去抖(debounce)。

然后在oninput的事件监听中做ajax请求。得到数据后前端解析并渲染。

ringa_lee

可以使用jquery 自带UI AUTOcomplete

http://www.runoob.com/jqueryu...

大家讲道理

github有很多这样的插件(不建议到奇奇怪怪的网站搜,文档历史久远,还有很多错误在里面),搜索结果

无非就是输入(keydown)的时候,触发事件,然后使用类似loadsh debounce限制请求频率,后端接受请求处理搜索逻辑然后返回json数据,前端解析显示。自己写一个也很快的...

PS: keydown,keyup,change...看你的需求吧

PHP中文网

用了Vue或者react框架倒是比较好解决,用框架的watch

如果不是的话,oninput、onkeyup在汉字输入时都有问题,倒是推荐你用setTimeout的方式不停地去查询input的值是否改变

PHPz

keyup 可以

PHP中文网
    $('input').on('input', function(e){
        console.log($(this).val()); //这样能监听到input的内容变化
    })

获取到变化后的值, 就可以实时去后台请求,然后再把结果显示到页面。

注意: 要对input后的操作 做节流限制.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号