CGridView中js一个小问题改善

ajax载入含CGridView的页面到div中,如果多次点击链接载入这个页面,然后在过滤器输入框中输入一个过滤参数回车,会造成点过多少次就会在这个回车后一次性请求多少次,造成这个问题的原因是js中live绑定事件。在jquery.yiigridview.js地44行


$(inputSelector).live($.browser.msie ? 'click keyup' : 'change', function(){

改成如下代码即可,


$(inputSelector).die($.browser.msie ? 'click keyup' : 'change').live($.browser.msie ? 'click keyup' : 'change', function(){

另外同js中live绑定的个click事件有没发现这个问题,不知道是什么原因。

在svn里已经有更改了。你试试是否能解决你的问题。

下了svn的,还是存在这个问题

还是和live一样要在delegte前面加上.undelegate(inputSelector,‘change’)才只发送一个请求。