Cgridview Ajax Update/filter Fail

Hi everybody!

I am really getting stuck in a problem I can’t understand.

the problem

Given a certain Model (‘Struttura’: [‘codice_struttura’, ‘codice_regione’, … ])

I am trying to build a custom search page with a jvectormap, some dropdown and a CGridView.

Clicking on the map, users select a region.

A js function will:

  • update one dropdown with the list of cities

  • filter the CGridView by ‘codice_regione’ in order to find the ‘Struttura’ in that region

Currently I can perform an ajax update of the dropdown but I cannot update the CGridView.

the code

search.php




        [..some other stuff..]

	<div id="mapData">


		<?php $this->widget('bootstrap.widgets.TbGridView', array(

				'type'=>'striped bordered condensed',

				'id'=>'strutture-grid',

				'dataProvider'=>$model->search(),

				'filter'=>$model,

)); ?>

	</div>


        [..some other stuff..]




StrutturaController.php





        //[..some other stuff..]

	public function actionSearch()

	{

		$uri = Yii::app()->baseUrl . '/js/jquery-jvectormap-1.1.1.css';

		Yii::app()->clientScript->registerCssFile($uri, 'screen, projection');

		

		$model=new Struttura('search');

		$model->unsetAttributes();  // clear any default values

		if(isset($_GET['Struttura'])){

			$model->attributes=$_GET['Struttura'];

		

		}

		$this->render('search', array('model'=>$model));

	}

        //[..some other stuff..]



_recuperaDatiComune.js




        [..some other stuff..]


	if(region_id !== false) {

		$.fn.yiiGridView.update("strutture-grid", {data: {codice_regione:region_id}});

	} 


        [..some other stuff..]



Firebug console logs:




GET /.../index.php?r=struttura%2Fsearch&codice_regione=16&ajax=strutture-grid

GET /.../index.php?r=struttura/jSbrowse&id=16



When I manually filter the CGridView I get the same GET request




GET /.../index.php?r=struttura%2Fsearch&codice_regione=16&ajax=strutture-grid



obviously in the Model:




	public function search()

	{

		$criteria=new CDbCriteria;


		$criteria->compare('codice_regione',$this->codice_regione,true);


		return new CActiveDataProvider($this, array(

			'criteria'=>$criteria,

		));

	}



so, why the CGridView doesn’t display filtered data?

Thanks in advance for your help and for all the topics I snooped so far :)