Jquery ui 如何在CGridView过滤器中包含CJuiAutoComplete?
我有一个列出表格内容的网格视图,表格有一列Jquery ui 如何在CGridView过滤器中包含CJuiAutoComplete?,jquery-ui,autocomplete,filtering,yii,jquery-autocomplete,Jquery Ui,Autocomplete,Filtering,Yii,Jquery Autocomplete,我有一个列出表格内容的网格视图,表格有一列author\u id 现在我使用关系名列语法显示用户名author.username 在支持CJuiAutoComplete的情况下,是否允许用户在列过滤器中键入用户名,例如提示 我的代码示例: <?php $this->widget('zii.widgets.grid.CGridView', array( 'dataProvider'=>$model->with('author')->search(),
author\u id
现在我使用关系名列语法显示用户名author.username
在支持CJuiAutoComplete的情况下,是否允许用户在列过滤器中键入用户名,例如提示
我的代码示例:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->with('author')->search(),
'filter'=>$model,
'columns'=>array(
// ...
array(
'name'=>'author.username',
'filter'=> // ?
),
// ...
),
));
小部件有第三个参数,可以设置为true,这意味着将返回字符串,并且不会呈现小部件cguiautocomplete
widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->with('author')->search(),
'filter'=>$model,
'columns'=>array(
// ...
array(
'name'=>'author.username',
'filter'=> $this->widget('zii.widgets.jui.CJuiAutoComplete', $array_params, true),
),
// ...
),
));
和$array_参数可以替换为类似的参数,例如:
array(
'name'=>'author_username',
//'model'=>$model,
'attribute'=>'city_eve',
'sourceUrl'=>"/controller/action/",
'options'=>array(
'minLength'=>'2',
),
'htmlOptions'=>array(
'size'=>'36'
),
)
此外,您还必须在模型搜索方法中输入一些检查:
if($request->getQuery("author_username")){
$criteria->addCondition(author.username=:author_username");
$criteria->params[':author_username'] = $request->getQuery("author_username");
}
小部件有第三个参数,可以设置为true,这意味着将返回字符串,并且不会呈现小部件CJuiAutoComplete
widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->with('author')->search(),
'filter'=>$model,
'columns'=>array(
// ...
array(
'name'=>'author.username',
'filter'=> $this->widget('zii.widgets.jui.CJuiAutoComplete', $array_params, true),
),
// ...
),
));
和$array_参数可以替换为类似的参数,例如:
array(
'name'=>'author_username',
//'model'=>$model,
'attribute'=>'city_eve',
'sourceUrl'=>"/controller/action/",
'options'=>array(
'minLength'=>'2',
),
'htmlOptions'=>array(
'size'=>'36'
),
)
此外,您还必须在模型搜索方法中输入一些检查:
if($request->getQuery("author_username")){
$criteria->addCondition(author.username=:author_username");
$criteria->params[':author_username'] = $request->getQuery("author_username");
}