Yii2 Fileinput小部件在renderAjax之后初始化

时间:2017-07-18 08:41:35

标签: file yii kartik-v

我完全迷失了两天,并且不知道如何解决这个废话!

我在我的页面中使用fileinput小部件,如下所示:

            echo FileInput::widget([
                'name' => 'attachment_product[]',
                'id' => 'img_products',
                'options' => [
                    'multiple' => true
                ],
                'pluginOptions' => $pluginOptions,
            ]);

在同一页面中,我有一个按钮,点击后,使用renderAjax重新加载内容。

成功后我重新加载这样的内容:

$('.content').html(data);

问题是fileInput小部件没有被初始化..我不知道该怎么办,我得到这个错误:

fileinput_516a5cfe is not defined

我在这里阅读:https://github.com/kartik-v/yii2-widgets/issues/229和此处:https://github.com/kartik-v/yii2-widget-switchinput/issues/14。我需要重新初始化插件,但我不知道如何做到这一点......我迷失了......

1 个答案:

答案 0 :(得分:0)

  

这是设计使然,JavaScript文件通常只需加载一次,因此所有后续请求都会过滤掉已包含的文件。

     

如果你想加载每个请求,你可以添加它的路径到yii.reloadableScripts yii.js

https://github.com/yiisoft/yii2/issues/10251