2

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),
    ));
}

そして rules() の中で

 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,
    ));
}

また、「高度な検索」をクリックしても高度な検索フォームが開きません..関連する多くのスレッドを検索しましたが、役に立ちません..問題を特定するのを手伝ってください..よろしくレオ

4

2 に答える 2

2

デバッグのヒント: JavaScript に依存する何かが機能しない場合、99% は JavaScript エラーが発生し、残りの JavaScript が終了します。

于 2013-09-25T10:05:01.340 に答える