仓库源文站点原文


title: "Yii添加Ajax搜索" date: 2013-06-08T14:04:00+08:00 categories: draft: false

toc: true

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

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

<?php
Yii::app()->clientScript->registerScript('search', "
$('.search-form form').submit(function(){
    $.fn.yiiGridView.update('product-grid', {
        data: $(this).serialize()
    });
    return false;
});
");
?>

表单:

<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里面要有如下代码:

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

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

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