Dear Friend
There are sometimes we have to update the gridView based on form fields placed outside the grid.
I have done it by updating the grid by single value.
These are couple of examples.
1.I have 2 tables. [b]Brand/b and [b]Item/b.
Through b_id, a brand has MANY items.
Through external dropDrownList,I am updating the grid.
$('#subForm form').submit(function(){
        $.fn.yiiGridView.update('item-grid', {
        data:{'Item[b_id]':$('#subForm #Item_b_id').val()}
        });
        return false;
        
});
");
In this example, I have three tables:user,customer,UserCustomer.
user has MANY_MANY relation through userCustomer.
I am getting ids from usergrid and customergrid by getChecked method.
I creating UserCustomer from these values by AJAX. After successful creation,
I am updating the userCustomer grid for the particular user.
- 
 
Yii::app()->clientScript->registerScript('assignCustomer','
$("body").on("click","#butt",function(){
        $.ajax({
                type:"POST",
                url:"'.Yii::app()->createUrl('userCustomer/create').'",
                data:$(".wide form").serialize(),
                success:function(data){
                $("#user-customer-grid").yiiGridView("update",{
                        data:{"UserCustomer[user_id]":$("#user").val()}});
                }
                
                });
        return false;
        });
');
Note: In first example $(this)means whole form.
  In second example $(this) means [b]click[/b] button.
To avoid that confusion, I am fetching the values by their ids.
Regards.