我刚刚开始使用 Yii,在 CGridView 上遇到一些问题..
ajax 过滤器在 GridView 中不起作用。当我检查控制台时,我发现没有发送 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'),
在 Controller 文件(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,
));
}
单击“高级搜索”时也不会打开高级搜索表单。 我搜索了许多与之相关的线程,但没有帮助.. 请帮助我找出问题所在.. 问候利奥
最佳答案
调试提示:如果依赖于 JavaScript 的某些内容无法正常工作,99% 的情况下您会收到 JavaScript 错误,该错误会终止 JavaScript 的其余部分。
关于php - Ajax 过滤在 Yii 的 CGridView 中不起作用(高级搜索表单在单击 'Advanced Search' 时也不会打开),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999839/