其实默认就有,只需要开启就好了。 首先先把列表写好。

列表用'dataProvider'=>$product->search(40),//数据源  调用数据源 View页面: 添加Ajax:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
Yii::app()->clientScript->registerScript('search', "
$('.search-form form').submit(function(){
    $.fn.yiiGridView.update('product-grid', {
        data: $(this).serialize()
    });
    return false;
});
");
?>

表单:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<div class="pro_filter c_f search-form">
<?php $form=$this->beginWidget('CActiveForm', array(
    'action'=>Yii::app()->createUrl($this->route),
    'method'=>'get',
)); ?>
<label>产品标题:</label>
<?php echo $form->textField($product,'name',array('class'=>'t_ipt w_180'))?>
<?php echo CHtml::submitButton('搜索',array('class'=>'mem_bgx mem_btn01'))?>
<?php $this->endWidget(); ?>
</div>

Controller里面要有如下代码:

1
2
3
4
5
6
7
<?php
$product = New Product();
$product->unsetAttributes();//清空属性
$product->id = $id;
if(isset($_GET['Product'])){
    $product->attributes = $_GET['Product'];
}

model 基本是用的是Search 不需要改什么。注意:compare后面有参数true则为模糊搜索,实例:

1
2
<?php
$criteria->compare('name',$this->name,true);