想要实现的功能类似于百度和google的搜索条 ,不过出了点问题
现在的情况是在文本框中输入“程序员”三个字时,
文本框下的智能感知框中显示 如下信息:
程序员初级
程序员中级
程序员高级
当鼠标移动到“程序员中级”这一行时,文本框中的值变为“程序员中级”,,主要是触发了文本框的onpropertychange事件,从而调用了js函数发出ajax请求,从数据库中查询出了相应的结果,文本框下的智能感知框显示的值也发生了变化,所以显示的是:
程序员中级可我想实现的功能是: 当文本框中的值变为“程序员中级” 我想让文本框中的智能感知框中显示的值不变,依然是
程序员初级
程序员中级
程序员高级所以我试着修改了一下代码:
在event.keyCode=40 也就是把鼠标光标向下移动时 用detachEvent方法移除了对onpropertychange事件相应的JS函数的引用,可是问题又来了,因为移除了对onpropertychange事件相应的JS函数的引用,所以在文本框中输入值后,在文本框中下方的智能感知框中显示的值不会随着文本框中的值的变化而产生相应的变化,这个问题该怎么处理呢?

解决方案 »

  1.   

    楼主搜下 jquery autocomplete
      

  2.   

    用onpropertychange,且不说用在这里合不合适,你让firefox和chrome肿么办。。
      

  3.   


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

  4.   


    这个已经在代码中做了处理,只不过没有贴出来而已
    也想过用onchange,但百度后发现onchange只有在用键盘改变其值,然后在失去焦点(onblur)后才触发,用js改变其值不能触发,所以没用它
      

  5.   

    欢迎围观我早期写的demo http://www.370b.com/bbsx/demo.html