我正在尝试使用网格视图过滤器列中的此代码在yii2 gridview中添加jquery ui自动完成小部件...
'filter' => AutoComplete::widget([
'model' => $searchModel,
'attribute' => 'site_id',
'clientOptions' => [
'minLength' => 3,
'autoFill' => true,
'source' => new JsExpression('
function(request, response) {
jQuery.getJSON("'.Url::to(['site/search']).'",
{query: request.term}, function(data) {
var suggestions = [];
jQuery.each(data, function(index, ele) {
suggestions.push({
label: ele.name,
value: ele.id
});
});
response(suggestions);
});
}'),
'select' => new JsExpression('
function(event, ui) {
jQuery("#'.Html::getInputId($searchModel, 'site_id').'")
.val("ui.item.value");
jQuery("#'.Html::.'").yiiGridView("applyFilter");
}')
],
]),
如何为此过滤器列添加html隐藏输入元素,以使用网格过滤器查询发送“site_id”,并将jui自动完成小部件标签显示为“名称”。目前,'site_id'(例如2)显示在过滤列上。
答案 0 :(得分:0)
我只是补充一下
. Html::hiddenInput('site_id', '')
在自动完成小部件之后。