页面加载时CGridview过滤器,在搜索字段中预定义值

bjt*_*ley 2 yii cgridview

我正在使用Yii框架.

我使用以下命令在我的一个cgridview过滤器字段中设置了一个值:

这是我的jQuery为searchfield分配一个值:

$('#gridviewid').find('input[type=text],textarea,select').filter(':visible:first').val('".$_GET['value']."');
Run Code Online (Sandbox Code Playgroud)

在这里我的PHP用于调用cgridview:

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'bills-grid',
'dataProvider'=>$dataProvider,
'filter'=>$model,
'cssFile'=>Yii::app()->baseUrl . '/css/gridview.css',
'pager'=>array(
    'class'=>'AjaxList',
    'maxButtonCount'=>25,
    'header'=>''
),
'columns' => $dialog->columns(),
'template'=>"<div class=\"tools\">".$dialog->link()."&nbsp;&nbsp;&nbsp;".CHtml::link($xcel.'  Export to excel', array('ExcelAll'))."</div><br />{items}{summary}<div class=\"pager-fix\">{pager}</div>",));
Run Code Online (Sandbox Code Playgroud)

该值显示在搜索字段中,我的cgridview正常工作,没有任何问题,但我无法触发cgridview刷新或筛选.有没有人知道在页面加载后使用预定义值触发cgridview的过滤器?

非常感谢任何帮助,如果您需要其他信息,请告诉我.

谢谢.

dIn*_*0nG 9

您可以在不修改客户端代码的情况下解决问题.在您的控制器操作中,只需设置属性的默认值,如下所示

public function actionAdmin()
{
    $model = new Bills();
    $model->unsetAttributes();
    $model->attribute_name="default filter value";//where attribute_name is the attribute for which you want the default value in the filter search field
    if(isset($_GET['Bills'])){
        $model->attributes = $_GET['Bills'];
    }

    $this->render('admin',array('model'=>$model));
}
Run Code Online (Sandbox Code Playgroud)