使用 Ajax 和js脚本实现文本框智能感知的问题

wyumening 2012-05-03 11:11:39
想要实现的功能类似于百度和google的搜索条 ,不过出了点问题
现在的情况是在文本框中输入“程序员”三个字时,
文本框下的智能感知框中显示 如下信息:
程序员初级
程序员中级
程序员高级
当鼠标移动到“程序员中级”这一行时,文本框中的值变为“程序员中级”,,主要是触发了文本框的onpropertychange事件,从而调用了js函数发出ajax请求,从数据库中查询出了相应的结果,文本框下的智能感知框显示的值也发生了变化,所以显示的是:
程序员中级

可我想实现的功能是: 当文本框中的值变为“程序员中级” 我想让文本框中的智能感知框中显示的值不变,依然是
程序员初级
程序员中级
程序员高级

所以我试着修改了一下代码:
在event.keyCode=40 也就是把鼠标光标向下移动时 用detachEvent方法移除了对onpropertychange事件相应的JS函数的引用,可是问题又来了,因为移除了对onpropertychange事件相应的JS函数的引用,所以在文本框中输入值后,在文本框中下方的智能感知框中显示的值不会随着文本框中的值的变化而产生相应的变化,这个问题该怎么处理呢?
...全文
261 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rayyu1989 2012-05-03
  • 打赏
  • 举报
回复
改为onkeyup实现联想功能
wyumening 2012-05-03
  • 打赏
  • 举报
回复
多谢1楼兄弟的回答,不过我想知道用纯JS脚本怎么实现。。。
001007009 2012-05-03
  • 打赏
  • 举报
回复
楼主搜下 jquery autocomplete
rayyu1989 2012-05-03
  • 打赏
  • 举报
回复
欢迎围观我早期写的demo http://www.370b.com/bbsx/demo.html
wyumening 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
用onpropertychange,且不说用在这里合不合适,你让firefox和chrome肿么办。。
[/Quote]

这个已经在代码中做了处理,只不过没有贴出来而已。。。
也想过用onchange,但百度后发现onchange只有在用键盘改变其值,然后在失去焦点(onblur)后才触发,用js改变其值不能触发,所以没用它。。。
wyumening 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
改为onkeyup实现联想功能
[/Quote]

我用的方法是触发onkeydown事件时,赋给它一个js函数,然后在这个函数中对鼠标上移和下移时进行不同的处理,换成onkeyup事件也没什么作用。。。我总结一下吧,现在的情况是
在文本框中下方的智能感知框中显示的值不会随着文本框中的值的变化而产生相应的变化,如果给文本框的onpropertychange事件赋给一个JS函数进行ajax传值,对数据库中进行查询并返回相应的值后,能解决这个问题,但新的问题又来了,目前的情况是这样
当鼠标移动到“程序员中级”这一行时,文本框中的值变为“程序员中级”
智能提示框中因为发生了ajax请求,并从数据库中查询到了值,所以显示的是:
程序员中级

而我想实现的效果是
当鼠标移动到“程序员中级”这一行时,文本框中的值变为“程序员中级”
而智能提示框中的值不变,不发生ajax请求


峭沙 2012-05-03
  • 打赏
  • 举报
回复
用onpropertychange,且不说用在这里合不合适,你让firefox和chrome肿么办。。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧