我想要的是同一页面上的2个复选框列表,过滤相同的ListView。 我的代码
查看
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();
同样在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}
);
});"
);
和控制器
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
),
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
我想创建另一个复选框列表,具有不同的条件并调用我的Ajax请求。不确定如何去做,上面的代码工作正常,而不是一个复选框列表我想要两个。
感谢高级