Hola, estoy intentando filtrar los resultados de una tabla mediante checkbox, luego de mucho investigar, di con la funcion activeCheckboxList.
Mi problema es que si bien aparece el preload, la misma no esta filtrando los resultados, y la verdad es que no se bien que hacer.
Soy mas que un principiante, aunque ya hace largos 7 años que programo no logro sacarle la vuelta al MVC
Si alguien me podria ayudar estare mas que agradecido.
Les cuento que tengo dos tablas tbl_post tbl_categorias
tbl_post (id title categoria_id)
tbl_categoria (id name)
Por el momento veo la lista de checkbox y ejecuta ajax, pero no resulve nada, siempre me muestra todos los resultados.
Si alguien me podria dar una mano estare mas que agradecido
Muchas gracias de antemano y aguante yii
View/Post/Index.php (view)
<h1>Posts</h1>
<?php
echo CHtml::activeCheckboxList(
$model, 'id',
CHtml::listData(Categoria::model()->findAll(), 'id', 'name'),
array('template'=>'<li>{input} {label}</li>', 'class'=>'categoryFilter',)
);
?>
<?php
Yii::app()->clientScript->registerScript('search',
"var ajaxUpdateTimeout;
var ajaxRequest;
$('.categoryFilter').change(function(){
category = $('.categoryFilter').serialize();
$.fn.yiiListView.update(
'ajaxListView',
{
url: '" . CController::createUrl('Post/index') . "',
data: category
}
);
});
"
);
$this->widget('zii.widgets.CListView', array(
'id'=>'ajaxListView',
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
'sortableAttributes'=>array(
'id',
'title',
'categoria_id'
),
));
?>
y en mi PostController.php
public function actionIndex( array $category = array() )
{
$model=new Categoria();
$criteria = new CDbCriteria();
if( count( $category ) > 0 )
$criteria->addInCondition( 'category', $category );
$dataProvider = new CActiveDataProvider( 'Post', array( 'criteria' => $criteria, ) );
$this->render( 'index', array(
'dataProvider' => $dataProvider,
'model'=>$model,
) );
}