I read and tested all the solution here and in google code, there exists two following problems:
1- jQuery 1.4.2 bug about dropdownbox
2- Zii jquery.yiigridview.js for IE browser (IE6 to IE8)
For a workaround, I did as follow ( tested on FF 3.5, IE 7, IE 8, Chrome and it works perfectly):
1- Downgrade to jQuery 1.4.1 ( since 1.4.2 doesn’t fire event for dropdownbox)
A. Download the jQuery 1.4.1 from this address:
(http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js)
B. Copy the file in application "/js" folder
C. Configure the main.php as below:
in components section add:
'clientScript'=> array(
'scriptMap'=> array (
'jquery.js'=>"js/jquery_min.js",
'jquery.min.js'=>"js/jquery_min.js",
),
),
2- Change the jquery.yiigridview.js
/yii/framework/zii/widgets/assets/gridview/jquery.yiigridview.js
Search for "temporary fix for the bug of supporting live change in IE " and replace as follow:
Original:
// temporary fix for the bug of supporting live change in IE
$(inputSelector).live($.browser.msie ? 'click keyup' : 'change', function(){
var data = $.param($(inputSelector))+'&'+settings.ajaxVar+'='+id;
$.fn.yiiGridView.update(id, {data: data});
});
Replace to:
// temporary fix for the bug of supporting live change in IE
$(inputSelector).live($.browser.msie ? 'change keypress' : 'change', function(){
//alert(event.type);
if ($.browser.msie) {
if (event.keyCode == '13' || event.type =="click") {
var data = $.param($(inputSelector))+'&'+settings.ajaxVar+'='+id;
$.fn.yiiGridView.update(id, {data: data});
}
}
else {
var data = $.param($(inputSelector))+'&'+settings.ajaxVar+'='+id;
$.fn.yiiGridView.update(id, {data: data});
}
});
Hope that helps