求助!制作仿GOOGLE智能搜索框时碰到的问题

xxfxiazai 2009-06-12 05:25:12
我用的是textbox和listbox控件.

由于textbox的textchanged事件即使设置为AUTOPOSTBACK也无法在输入过程中触发,所以我的思路是在textbox中输入模糊条件后,鼠标点击屏幕空白区域,触发textchanged事件和 客户端的body onclick事件.前者用于处理查询条件返回数据集,后者用于执行一个客户端javascript函数,用于显示包含listbox控件的div,并计算坐标.

似乎只比google多了一个点击操作,在自己电脑上操作也没问题,但是处于局域网的其他电脑访问时,却明显有卡的迹象,并且鼠标点击并不总是触发 onclick事件,使div显示出来.


我想问下,javascript是否存在 时间控件,让显示div的这个函数定时执行,比如停止输入多少时间后触发.
另外,我用鼠标点击来使textchanged事件触发的这个方法,是否有别的更好的办法,或者用javascript来触发,而不是鼠标点机.

我对javascript不太了解,希望大家能提供代码提示
...全文
493 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxfxiazai 2009-06-15
  • 打赏
  • 举报
回复
既然花了这么多时间做了,不想半途而费.去做现成的
xxfxiazai 2009-06-15
  • 打赏
  • 举报
回复
哎,就剩一个问题了..

我现在是在服务端添加 TIMER控件,1.5秒检查一次TEXTBOX 文本的变化,然后执行操作..
但是这样做,感觉还是不太好,既然TEXTBOX文本属性没有变化,即不执行查询,页面还是被刷新了,虽然有AJAX看不出页面抖动

能否在客户端执行呢,比如KEYUP的时候才发送数据.
帅虫哥 2009-06-14
  • 打赏
  • 举报
回复
也可以自己写调用websrvice 来完成
帅虫哥 2009-06-14
  • 打赏
  • 举报
回复
这个用ajax 控件 就可以完成 下载 ajax控件集 !安装好后 有个叫autocomplete控件!
sijin 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
用ajax控件AutoComplete
参考
[/Quote]


这个简单
xxfxiazai 2009-06-13
  • 打赏
  • 举报
回复
其实我昨天在网上查到 javascript来连接数据库的内容,但我不知道这个能不能配合AJAX
xxfxiazai 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nosuchtracter 的回复:]
通过keyup事件来触发
txt.Attribute.Add("onkeyup","javascript:your function");
[/Quote]
恩,这样就解决了DIV出现的问题,但现在最大的问题是必须鼠标点击或回车才能textchanged事件...

4楼提供的连接我去看看先..
Mark2Win 2009-06-13
  • 打赏
  • 举报
回复
要弹出div,可以在textBox的onkeyup事件里面做,即按了一个键之后触发,就不用在body的click事件去调用js函数了。

如果要使用时间控件,可以使用setTimeOut函数,如,window.setTimeOut(function(){alert(1)},1000),一秒后弹出1显示
另外,还有setInterval函数,用法类似,每隔n毫秒触发一次,用clearInterval取消掉触发。
wuyq11 2009-06-12
  • 打赏
  • 举报
回复
用ajax控件AutoComplete
参考
qq196260188 2009-06-12
  • 打赏
  • 举报
回复
建议用javascript+ajax+div来做,,之前我也做过
nosuchtracter 2009-06-12
  • 打赏
  • 举报
回复
通过keyup事件来触发
txt.Attribute.Add("onkeyup","javascript:your function");
xxfxiazai 2009-06-12
  • 打赏
  • 举报
回复
ding yixia

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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