我想做类似google的文本框,输入第一(多)个字母,以该字母开头的条目就列出来
所有条目都已经在库里了
所有条目都已经在库里了
解决方案 »
- 到底什么是token还有hash???
- 很简单的js问题,请教一下
- 下面的代码是点击滑动按钮弹出新页面,我想弹出的新页面没有toolbar,location等,和window.open一样
- jquery unload 事件怎么触发
- 求助:字符串分组重新组合
- asp中动态生成Flash(根据提取的不同数据制作、显示不同的flash)网页的问题
- 年月日联动,为何每年2月份的日期显示不出来,其他月份是正常的
- 怎么样关闭框架
- 各位! 我在用ASP开发固定资产管理时! 用到了菜单,菜单是用 DIV 搞的,有以下的问题!
- Dreamweaver的表格作布局,如何让空隙边框消失
- 何实现随鼠标移到切换到对应的内容
- 不是高手就不要进来,极端问题?
估计看google做出来的效果挺炫的然后大家都想做吧,onchange不停的去Ajax提交与获得数据,感觉上这样做极度浪费性能,网速慢得时候数据还没接收到用户都输入完要输入的东西了....如果说要快的话就是在页面上缓存数据,直接从里面找,不过这样做又不能保证页面在未刷新的情况下数据同步,为了同步又只好定时请求数据...要做好这个功能不简单,期待高手给出最优方案,关注中
听说google每天要换1卡车硬盘.这也许就是你说的,数据已经存好了.一般人还真玩不起.
类似GOOGLE输入框的自动提示框控件
http://www.msproject.cn/people/icscs/article/106.html
Auto-complete Control :
http://www.codeproject.com/KB/scripting/jsactb.aspx
如果我输入了A,有非常多的数据,怎么弄,这不是页面左右的,这是服务器那边实现的(如果用js,那不得费死劲),服务器那边最多给出10条记录,难点在这些记录的选择上,这就涉及到搜索算法了,页面只负责显示(你看百度谷歌搜索几十万条记录,不到1秒就出来结果了,这就是优化的结果。)
还是说,页面只做最简单的部分,一部分js而已。核心在搜索算法,这个算法根据业务,会不同。
<input type="text" id="local1"/>js中:
var data = // 所有数据
[
['1','Lislie','D005','male'],
['2','Merry','D004','female'],
['3','Edison','D003','male'],
['4','Mark','D002','male'],
['5','Leeon','D001','male']
];
var ds = new Ext.data.Store({ // 数组reader
proxy : new Ext.data.MemoryProxy(data) ,
reader: new Ext.data.ArrayReader({},[
{name: 'id'},
{name: 'name'},
{name: 'depno'},
{name: 'sex'}
])
}); ds.load(); // 加载
var storeList = new Ext.form.ComboBox({
store: ds,
valueField:'id',
typeAhead: true,
displayField: 'name',
triggerAction: 'all',
emptyText:'Select a store...',
mode: 'local',
selectOnFocus:true,
applyTo: 'local1', // 指向页面input
width:135
});使用: alert(storeList.getRawValue());
大概4000多条,每条长度10个字符左右,都是字母和数字
输入字母和数字,相关的记录就被筛选出来