关于jQuery UI中的autocomplete控件

       最近用这个JQuery的自动完成控件出现了很多意想不到的问题,API相关的就不在这里多说了,相信网上一搜一大把。就说几点我遇到的问题吧。
1.关于去缓存
       由于jQuery 的autocomplete默认带有缓存机制来降低客户端向服务端的持续多次访问请求,可以说这个处理确实是非常不错的,能够一定程度上降低服务器的压力,对一些实时性要求不是那么高或者变动不大的数据时非常有效的。

       但我这边的需求是autocomplete的展示需要联动页面上的另一控件的值,所以此时我就需要实时去请求服务器获取数据,因此缓存就必须去除掉,看API就会很清楚,设置cacheLength字段。但是楼主在网上搜了太多的API,相信大多数都是这样写的

cacheLength (Number):
    缓存的长度.即对从数据库中取到的结果集要缓存多少条记录.设成1(这里是不对的)为不缓存.Default: 10
但是,经过楼主的实践,这个是不对的,只有把cacheLength 设置为0才能真正做到去除缓存。


2.关于动态传参
       由于这个
autocomplete是通过事件触发(默认是双击或者keydown)的,在autocomplete事件中根本无法动态获取到页面上的参数值,它获取到的也只是页面初始加载时候的值,完全是事与愿违,对于初次使用者一定是非常费解,楼主也是纠结了好久,最后发现原来是有API的(- -!!!)

extraParams:{
	accountType:function(){return $('#accountType').combobox('getValue');}
},
这样的方式就能把你需要动态传递的参数带上了,是不是很简单呢,楼主调的时候都快疯了。。。


3.关于中文匹配
       我大中华民族创造力不太行,破解啊、山寨啊什么的真是无解,网上也很多,楼主就在这里赘述一下,只需要修改一点jquery.complete.js源码就行了,第91行keydown改为keyup即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值