我正在尝试加载一个Accuweather小部件,它可以使用下拉列表更改位置。它在最初没有加载位置时起作用。但是,当我尝试更改位置时,它不再起作用。我的猜测是我应该回想起Accuweather脚本或函数(但我不知道如何)。这是我所做的link of the image。
这是我的JS代码的一部分:
$('#awcc1414464209059').attr('data-locationkey',selected); //change the div's data-location-key to the selected location's key
$('#awcc1414464209059').attr('class',"aw-widget-current");
$('#awcc1414464209059').attr('data-unit', "c");
$('#awcc1414464209059').attr('data-language',"en-us");
$('#awcc1414464209059').attr('data-useip', "false");
$('#awcc1414464209059').attr('data-uid',"awcc1414464209059");
getweather();
function getweather(){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "assets/js/accuweather.js";
document.getElementsByTagName("head")[0].appendChild(script);
return false;
}
PS:如果我可以一次加载多个小部件会更好,这样我就可以显示所有位置以方便用户。 (我已经尝试过,但我无法使它工作)
答案 0 :(得分:0)
我已经成功了。对于那些需要相同问题帮助的人,您需要为accuweather重新加载脚本文件。
for ($m=0; $m < sizeof($mun_name); $m++) {
$echo .= '<a href="" class="aw-widget-legal"></a>
<div id="awcc1414464'.$weather_id[$m].'" data-locationkey="'.$weather_id[$m].'" class="aw-widget-current" data-unit="c" data-language="en-us" data-useip="false" data-uid="awcc1414464'.$weather_id[$m].'"></div>
<script>getweather()</script>';
}
在我的代码中,getweather()函数加载脚本并将其添加到html头部,从而为我提供result in this link。