打印

[ 原创 ]2007年4月更新,模仿IE自动完成功能,支持Firefox.支持方向键操作

neverModules autocomplete 0.12
http://www.never-online.net/blog/article.asp?id=100
主要更新的是速度问题。10000的字组匹配时间不到半秒。

还有一些bug。有bug反馈请到我的blog里留言,谢谢

功能较上一版本的改进和功能:
1。匹配速度的提高。
2。加入ignoreCase属性(为false时,将区分大小写,默认为true)
3。加入ignoreWhere属性(为true时,匹配结果将使用贪婪匹配,即整个字符串中只要有输入的字符,将把dataSource内容送入匹配结果中)
4。按esc返回。
5。兼容IE6.0, Opera9.0, Mozilla Firefox1.5
6。可手动清空dataSource数据,或动态赋值给dataSource。方便的进行AJAX,详细请看示例。
7。highlighted属性(默认为true,大数据量时,建议设置为false)。
8。在IE中,弥补div被select控件遮挡。详细请看第一个示例。
9。方向键支持。

[ 本帖最后由 BlueMiracle 于 2007-4-12 16:05 编辑 ]
本帖最近评分记录

[ 原创 ]模仿IE自动完成功能,支持Firefox.

漂亮,代码也漂亮~


有个小小不足,鼠标移过的效果最好是整行
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

[ 原创 ]模仿IE自动完成功能,支持Firefox.

嘿嘿,子乌,每次第一个来的总是你老人家呀

[ 原创 ]模仿IE自动完成功能,支持Firefox.

晕。。。老人家。。。。偶虽然上了一点点岁数,不过偶还年轻,偶还有点力气能追上你们年轻人。。。偶还不到30。。。


附三篇提示的textbox教程,计划翻译中(嘿嘿,实际上只是计划自己学习而已):

http://www.webreference.com/programming/javascript/ncz/index.html
http://www.webreference.com/prog ... /column2/index.html
http://www.webreference.com/programming/javascript/ncz/column3/
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!

[ 原创 ]模仿IE自动完成功能,支持Firefox.

我最近也在翻译一些关于ajax的文章,最近的对脚本的想法也比较多,所以写的js代码也比较多,上次说的那个静态文章分页的一些想法,现在也列入计划中。

PS: 估计你岁数比我大些,:)

TOP

[ 原创 ]模仿IE自动完成功能,支持Firefox.

子乌,你现在再看看,有没有那个效果了,接下来就是把小键盘的功能实现了。

TOP

[ 原创 ]模仿IE自动完成功能,支持Firefox.

呵呵,不错!!

顺便再把方向键的功能也加上吧

类似ie的自动完成,使用上下键选择
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

TOP

[ 原创 ]模仿IE自动完成功能,支持Firefox.

你这里也是用图层实现的啊!呵呵
huanhuan2000

TOP

[ 原创 ]模仿IE自动完成功能,支持Firefox.

好东西,我来琢磨琢磨~```
『我的水客厅,记录曾经经历过的,酝酿即将经历的……』
『织梦者2号群:8606484 插画爱好者2号群:6641795』

TOP

[ 原创 ]模仿IE自动完成功能,支持Firefox.

子乌,方向键也可以用了,看看吧:)

TOP

[ 原创 ]模仿IE自动完成功能,支持Firefox.

嘿嘿,我是不是太挑了点?

上下键,到底或到顶,最好能够循环到另外一头去,明白我意思吗?当你的列表特别长的时候,这个很有用。

还有,当什么都没输入的时候,点击上下键就跳出提示框是否合适?因为用户不一定知道哪些值是已经存在的。
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

TOP

[ 原创 ]模仿IE自动完成功能,支持Firefox.

郁闷!

越来越强了!

我喜欢!支持原创!

UP!

TOP

晕。。。真挑呀,好!满足大家的愿望啦:)

TOP

改进了一下,可以用方向键上下移动,并且,如果在第一个节点里按向上键,即到最后一个元素,最后一个元素按下键,到首元素;

TOP

晕~,有bug,要等会再能弄好了,现在忙了,呵呵

TOP

改进了方向键了。应该没有bug了吧

TOP

最好可以按住方向键不放的时候连续上下移动

TOP

呵呵,继续挑~

a、内容为空时上下键无效
b、内容为空时直接回车怎么会冒一个Blue出来?
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

TOP

呵呵,我是试图站在用户的角度上挑刺,这种东西是最贴近用户的,用户体验很重要。
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

TOP

bug report
1.用鼠标选择自动完成的选项后,text的焦点消失(直接用回车选择正常)
2.在text中任意输入,再清空text,页面会平白无故出现滚动条

建议
1.在自动完成中的可选项过多的情况下,能否考虑给层做个滚动条,而不去滚动页面
听遍那渺渺世间轻飘送乐韵...

TOP

b、内容为空时直接回车怎么会冒一个Blue出来?

这个我这里怎么没有?内容为空,Tips应该自动隐藏了呀~

关于 a、内容为空时上下键无效

这个我还在考虑是弹出来好呢,还是不弹出来好~

TOP

你试试,正常的流程应该是:

1 我输入B
2 显示B开头的列表
3 我输入回车,高亮那行的字符串输入到文本框中


但现在为空的时候,我直接敲回车,就会插入Blue。不知道别人是否会出现这个情况。

嘿嘿,那几篇文章翻译完之后我打算把你的这些改进也加进去,作为补充
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

TOP

我也遇到了Blue的情况,
还有个bug报告:
在text中输入后,自动完成显示出来,这时我如果鼠标在页面的其他位置点击的话,自动完成的层就应该隐藏掉.和ie一样
听遍那渺渺世间轻飘送乐韵...

TOP

还请问楼主,jsAutoInstance.item()里边的内容可不可以从ajax数据传递过来,我试了怎么不行
我想做一个搜索,比如先输入一个"重庆",ajax程序从后台取出所有相关项,我想他怎么赋值给jsAutoInstance.item

楼主以及子乌大哥觉得好的话,不妨把ajax加进去,那我觉得就完美了,因为楼主的程序实在很漂亮适用
听遍那渺渺世间轻飘送乐韵...

TOP

博客:Freddy.CC

TOP

to javapigpig:
楼主的例子也支持中文哦,至于ajax,可以看看老孤的代码:

http://bbs.blueidea.com/viewthread.php?tid=2383914


to lianfang:

ajax现在的泛滥(原谅我用这种比较贬义的词,个人看法而已,不代表经典论坛)让人有点不知所措,技术的运用要恰当,要得体,而不该象现在这样一窝蜂。

每种技术有每种技术擅长的地方,该用则用,没必要用,就不用。适度,这个度很难把握。
子叶:子乌的叶子
帅哥们,美女们,新的一年终于来了,祝贺你们...终于又老了一岁~

TOP

@子乌,
你说的那个问题加个判断就好了,:)现在改好了。接下来的问题个人觉得就是在大数据量下,要给Tips加个滚动条。以及优化的问题了,在大数据量的情况下,我觉得在输入框没有值的情况下,就没有必要给出全部数据的Tips了。


@lianfang,你所说的Ajax情况实际上在用在这上面个人感觉就没有必要了,如果你实在要加的话,完全可以这样的

var s=null;
s = ajax.handleSend(paremeter);
jsAutoInstance.item(s);

TOP

bug report
1.自动完成列表不支持一直按住上下键连续滚动
听遍那渺渺世间轻飘送乐韵...

TOP

@lianfang

这个不是bug,而是fire Event的时候触发的,现在设置的是onkeyup,你设置为onkeydown即可

TOP

请问楼主,tips加滚动条怎么加啊?
听遍那渺渺世间轻飘送乐韵...

TOP