Php Ajax过滤在Yii中的CGridView中不起作用(此外,高级搜索表单在单击时不会打开';高级搜索';)

Php Ajax过滤在Yii中的CGridView中不起作用(此外,高级搜索表单在单击时不会打开';高级搜索';),php,ajax,yii,Php,Ajax,Yii,我刚刚开始在Yii上工作,在CGridView上面临一些问题 ajax筛选器在网格视图中不起作用。。当我选择控制台时,我看到没有发送ajax请求 这是我的视图(admin.php) 和内部规则() 在控制器文件(UserController.php)中 此外,高级搜索表单在单击“高级搜索”时不会打开。。 我已经搜索了许多与之相关的帖子,但是没有帮助。。 请帮我找出这个问题。。 关于Leo的调试技巧:如果依赖于JavaScript的某些东西不起作用,99%的JavaScript错误会终止其余的Ja

我刚刚开始在Yii上工作,在CGridView上面临一些问题

ajax筛选器在网格视图中不起作用。。当我选择控制台时,我看到没有发送ajax请求

这是我的视图(admin.php)

和内部规则()

在控制器文件(UserController.php)中

此外,高级搜索表单在单击“高级搜索”时不会打开。。 我已经搜索了许多与之相关的帖子,但是没有帮助。。 请帮我找出这个问题。。
关于Leo的调试技巧:如果依赖于JavaScript的某些东西不起作用,99%的JavaScript错误会终止其余的JavaScript。

我不久前也遇到过同样的错误。 这是因为我在页面底部包含了我自己的jquery声明 而且与YII自动脚本管理存在冲突,它在头部包含jquery声明 这是本页的最后一页

通过查看页面生成的源代码,您应该能够看到这一点


祝你好运

你确定没有收到JavaScript错误吗?我收到了这个错误,但不确定它是否与此相关:未捕获异常:绘图的维度无效,宽度=null,高度=null这是JS错误吗?因为在我看来,过滤不起作用是因为JavaScript没有被执行&JavaScript没有被执行是因为你有一个JS错误。因此,如果您遇到JS错误,您应该尝试查找组件给出的错误并修复它。在那之后,搜索应该开始工作。你可能是对的…我会先尝试修复它:)是的,它确实是js错误…谢谢你的帮助
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',
    ),
),
)); ?>
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'),
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,
    ));
}