1

我有一个关于 kartik select2 filterType 不起作用的问题,这是我的代码的一部分:

[
                    'format' => ['link',$idmodel],
                    'attribute' =>$attribute,
                    'filterType'=>GridView::FILTER_SELECT2,
                    'filterWidgetOptions' => [
                    'data' => \yii\helpers\ArrayHelper::map($model_::find()->all(),$attribute,'nom_'.strtolower($idmodel)),
                    'options' => ['placeholder' => '-'.$idmodel.'-'],
                    'pluginOptions' => ['allowClear' => true],
                    'theme' => Select2::THEME_KRAJEE,

                    ],  

当我评论这一行时:

'filterType'=>GridView::FILTER_SELECT2,

一个文本字段出现在我的过滤器网格视图中。谁能帮我 ??提前致谢

4

2 回答 2

1

正如我从您与 Edvin Tenovimas 的对话中看到的那样,您的问题是没有加载 jQuery Javascript 文件。您是否使用 composer 正常安装了 Select2 包?

$ php composer.phar require kartik-v/yii2-widget-select2 "@dev"

在这种情况下,您必须查看文件vendor/bower/jquery/dist/jquery.min.js。该文件必须自动复制到您的资产目录中web/assets。您可以删除资产目录的内容以强制再次创建资产。

$ rm -rf web/assets/*
于 2017-01-09T10:00:17.163 回答
0

我相信默认情况下GridView会启用过滤,除非您手动禁用它。当您将其注释掉时,它会使用默认文本输入而不是Select2. 要禁用该选项,请在要禁用过滤的列上使用它:

'filter' => false,
于 2017-01-07T07:31:44.127 回答