如何在yii2 gridview过滤器列中添加jui自动完成

时间:2018-01-10 16:40:08

标签: jquery-ui-autocomplete yii-extensions

我正在尝试使用网格视图过滤器列中的此代码在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)显示在过滤列上。

1 个答案:

答案 0 :(得分:0)

我只是补充一下 . Html::hiddenInput('site_id', '') 在自动完成小部件之后。