我刚刚开始在 Yii 上工作,并在 CGridView 上遇到了一些问题。
ajax 过滤器在网格视图中不起作用.. 当我检查控制台时,我看到没有发送 ajax 请求。
这是我的观点(admin.php)
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$('#user-grid').yiiGridView('update', {
data: $(this).serialize()
});
return false;
});
");
?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'email_id',
'name',
'user_type',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
模型文件(User.php)
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('email_id',$this->email_id,true);
$criteria->compare('name',$this->name,true);
//$criteria->compare('password',$this->password,true);
$criteria->compare('user_type',$this->user_type);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination'=>array('pageSize'=>3),
));
}
和内部规则()
array('id, email_id, name, user_type', 'safe', 'on'=>'search'),
在控制器文件(UserController.php)中
public function actionAdmin()
{
$model=new User('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['User']))
$model->attributes=$_GET['User'];
$this->render('admin',array(
'model'=>$model,
));
}
单击“高级搜索”时,高级搜索表单也无法打开。我搜索了许多与之相关的线程,但没有帮助。请帮助我找出问题。问候 Leo