【问题标题】:yii2 assets missing when creating modal创建模态时缺少yii2资产
【发布时间】:2018-02-07 12:29:32
【问题描述】:

我知道有很多类似的问题我都试过了,但都没有用。在我的模式中缺少资产,我不知道如何重新加载它们。

编辑:这是我的 start-form.php:

<?php $this->registerJsFile('js/voti.js'); ?>

    <div class="box-footer">
                    <center><button id="ladeauswertung" class="btn btn-default">Auswertung Laden</button></center>
                </div>

    <div id  ='auswertungdetail' name = 'auswertungdetail'>

    <?= $auswertungdetail ?>

    </div>

当点击“ladeauswertung”按钮时,将执行以下 JS 代码,您可以在此处看到 script-file.js:

$(document).on('click', '#ladeauswertung', function ()
{
    var ausgewaehlterstandort = document.getElementById("standorte").value;
    var datum = document.getElementById("datum").value;

    $.get("index.php?r=voti/ladeauswertung&standort=" + ausgewaehlterstandort + "&datum=" + datum,
            function (jsondata)
            {
                document.getElementById("auswertungdetail").innerHTML = jsondata;
            }
    );
});

还有这个代码部分,它在我的控制器中:

$.get("index.php?r=voti/ladeauswertung&standort=" + ausgewaehlterstandort + "&datum=" + datum,

执行以下操作:

return $this->renderAjax('auswertungdetail', ["auswertung" => $auswertung, "gesamtauswertung" => $gesamtauswertung]); 

所以在我的表单中单击按钮后会出现模态,并且在我的模态中有一个daterangepicker 和一个图表小部件包括。这些小部件在各种形式中都很好用,但在模式中却不行,所以我认为资产丢失了,但我在哪里加载它们?

请帮助我这几天一直在搜索。

【问题讨论】:

  • 控制台会显示什么?有什么错误吗?
  • 不,没有任何错误,我注意到加载资产后缺少一些资产
  • 所以您在控制台中获得了404 的某些资产,或者您怎么说它们丢失了?
  • 我可以通过浏览器检查我的网站,如果我检查小部件工作的表单,我可以看到源文件,例如 datepicker.js。当我检查我的模态时,缺少 datepicker.js,所以我想我不得不说模态包含资产的地方
  • 添加模态代码如何加载模态内容

标签: javascript php jquery twitter-bootstrap yii2


【解决方案1】:

您的 HTML 代码:

<div id  ='auswertungdetail' name = 'auswertungdetail'>
</div>

您的 Javascript 代码:

<script>
$(document).on('click', '#ladeauswertung', function ()
    {
        var ausgewaehlterstandort = document.getElementById("standorte").value;
        var datum = document.getElementById("datum").value;        
 $('#auswertungdetail').load("index.php?r=voti/ladeauswertung&standort="+ausgewaehlterstandort+"&datum="+datum").fadeIn("slow");
    }
    );

</script>

您只需在渲染普通视图时在控制器中进行编码。

【讨论】:

  • Dirtiest 发帖你应该阅读THIS
  • 对不起,我不明白,我的 javascript 代码在一个额外的文件中,在我的表单中它包含在 $this->registerJsFile('js/voti.js');并以这种形式打开模式-> 这有效。但是在模态中,小部件没有以它们工作的形式工作。 wo 我必须在控制器、表单或模式中在哪里发布“您的代码”?
猜你喜欢
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-17
  • 2021-06-09
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
相关资源
最近更新 更多