Ajax Listview, Use Two Checkbox Lists

Hi Everyone

I took this code from here, it sohws how to filter products with ajax requests, using check-boxes.

The view





echo CHtml::beginForm(CHtml::normalizeUrl(array('message/index')), 'get', array('id'=>'filter-form', 'style'=>'display:inline'));


	echo CHtml::checkBoxList('products', (isset($_GET['products'])) ? $_GET['products'] : '', CHtml::listData(Category::model()->with('products')->findAll('t.ParentID = 1 AND products.CategoryID = t.ID'), 'ID', 'Name'),

	array( 'class'=>'productsFilter'));




	echo  CHtml::endForm();






Also in view




<?php $this->widget('zii.widgets.CListView', array(

	'dataProvider'=>$dataProvider,

	'itemView'=>'_view',

'sortableAttributes'=>array(

        'id'=>'cronologico',

        'transaction'

    ),

    'id'=>'ajaxListView',

));


 ?>


<?php

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

    "var ajaxUpdateTimeout;

    var ajaxRequest;

	

	$('.productsFilter').change(function(){

    products = $('.productsFilter').serialize();

    $.fn.yiiListView.update(

        'ajaxListView',

        {data: products}

    );

});"	

);






Controller





public function actionIndex( array $products = array())

	{

	

		

	    $criteria = new CDbCriteria();

		if( count( $products ) > 0 ) 

			$criteria->addInCondition( 'CategoryID', $products );

			$dataProvider = new CActiveDataProvider( 'Products', array( 'criteria' => $criteria, 

				'Pagination' => array (

                  'PageSize' => 12 //edit your number items per page here

				),

			));

		$this->render('index',array(

			'dataProvider'=>$dataProvider,

		));

	}



This code works fine.

I want to add another checkbox list, that does the same thing with a different condition. Every solution I tried hasn’t worked.

Below is what I tried

Controller





public function actionIndex( array $products = array(), array $products1 = array())

	{


	    $criteria = new CDbCriteria();

		if( count( $products ) > 0 ) 

        $criteria->addInCondition( 'CategoryID', $products );

		if( count( $products1 ) > 0 ) 

        $criteria->addInCondition( 'CategoryID', $products1 );

	

    $dataProvider = new CActiveDataProvider( 'Products', array( 'criteria' => $criteria, 

	 'Pagination' => array (

                  'PageSize' => 

              ),

	));

		

		$this->render('index',array(

			'dataProvider'=>$dataProvider,

		));

	}




View





echo CHtml::beginForm(CHtml::normalizeUrl(array('message/index')), 'get', array('id'=>'filter-form', 'style'=>'display:inline'));


	echo CHtml::checkBoxList('products', (isset($_GET['products'])) ? $_GET['products'] : '', CHtml::listData(Category::model()->with('products')->findAll('t.ParentID = 1 AND products.CategoryID = t.ID'), 'ID', 'Name'),

	array( 'class'=>'productsFilter'));


	echo CHtml::checkBoxList('products1', (isset($_GET['products1'])) ? $_GET['products1'] : '', CHtml::listData(Category::model()->with('products')->findAll('t.ParentID = 6 AND products.CategoryID = t.ID'), 'ID', 'Name'),

	array( 'class'=>'productsFilter'));


	echo  CHtml::endForm();

	




and




<?php $this->widget('zii.widgets.CListView', array(

	'dataProvider'=>$dataProvider,

	'itemView'=>'_view',

'sortableAttributes'=>array(

        'id'=>'cronologico',

        'transaction'

    ),

    'id'=>'ajaxListView',

));


 ?>


<?php

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

    "var ajaxUpdateTimeout;

    var ajaxRequest;

	

	$('.productsFilter').change(function(){

    products = $('.productsFilter').serialize();

    $.fn.yiiListView.update(

        'ajaxListView',

        {data: products}

    );

});


	$('.productsFilter1').change(function(){

    products1 = $('.productsFilter1').serialize();

    $.fn.yiiListView.update(

        'ajaxListView',

        {data: products1}

    );

});"


	

);




The above code works for the first time I click on filter but after that everything results in no products found.

So what I need is, 2 checkbox lists on the same page, filtering the same ListView.

Thanks in advanced

Regards