CGridView Update onkeyup

Is there a way to filter the GridView and have it update on key press instead of having to hit enter?

This is the way I do this (I am not an expert with Yii though, so there may be a better way to achieve this):

I my form, I give the class ‘filter-field’ to all the input fields, and then use Javascript to trigger the ‘update’ method of the CGridView on the ‘keyup’ event.

Yii::app()->clientScript->registerScript('search', "

function refreshList()


	$.fn.yiiGridView.update('id-of-my-cgridview', {

		data: $('.search-box form').serialize()



var timeoutHandle;




	timeoutHandle = setTimeout(function() {refreshList()}, 300);








Thanks @Tartiflette, your answer was really helpful.

What I finally used is as below, It will re focus the cursor on the last filter.

        //Filters search on keyup rather than having to press enter

        var timer;

        $('#os-customer-grid .filters input[type=text] ').live('keyup', function(e){

            var focusedId = $(document.activeElement).attr('id');


            timer = setTimeout(function() {

                        $.fn.yiiGridView.update('os-customer-grid', {

                            data: $('#grid-form').serialize(),

                            complete: function(jqXHR, status) {

                                if (status=='success'){

                                    //refocus last filter input box.

                                    $('#' + focusedId).focus();

                                    tmpStr = $('#' + focusedId).val();

                                    $('#' + focusedId).val('');

                                    $('#' + focusedId).val(tmpStr);




                    }, 300);