0

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

我在我的页面中使用 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 。我需要重新初始化插件,但我不知道该怎么做……我迷路了……

4

1 回答 1

1

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

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

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

于 2017-07-18T09:46:30.877 回答