wymiana zawartości diva, opcja pogodowa

0

Witam, mam problem, nad którym siedzę już jakiś czas i nie mogę się z nim uporać. Mianowicie chcę, by zawartość diva wymieniała się po wybraniu jednej z opcji w menu (są to prognozy pogody dla wybranej miejscowości). Skrypt pochodzi ze strony: http://blog.ibeq.pl/2010/11/27/dynamiczne-wczytywanie-tresci-z-uzyciem-funkcji-load-biblioteki-jquery/
Pierwsza opcja ładuje się bez problemu, natomiast przy wyborze następnej opcji pokazuje się tylko dół okienka pogody. Oto link: http://ww2.icho.edu.pl/DTG_group/load/jquery-load/index.html
Proszę o pomoc!

0

W tych plikach html masz kod:

<div>jakiś kawałek kodu HTML, w którym nie masz danych, jedynie ID w jednym miejscu się zmienia</div>
<script type="text/javascript">
   (function(d, t, i) {
        if (d.getElementById(i)) return;
            var f = d.getElementsByTagName(t)[0], js = d.createElement(t); 
            js.id = i; js.src = "http://w.iplsc.com/widget/weather.jssc";
            f.parentNode.appendChild(js);
     }(document, "script", "widget-js"));
 </script>

Funkcja ta dokleja do Twojej strony plik JS, który w momencie doklejenia odpala kod w nim zawarty, który szuka tego mało znaczącego kodu HTML i na jego podstawie generuje dane pogodowe.

Gdy podmienisz ten kawałek kodu HTML i ten kawałek skryptu i wkleisz go jeszcze raz - kod widzi, że doklejony plik JS już istnieje (bo dokleja się poza #tu_wczytuj) więc drugi raz go nie dokleja - a tylko wtedy on przekszałca ten kod HTML w faktyczne dane pogodowe.

Najprościej (co nie znaczy najlepiej, najlepiej byłoby przeanalizować co i gdzie się wykonuje w tym doklejanym pliku i jakoś to powielić) będzie przed każdym władowaniem kolejnego pliku - usunąć ten doklejony skrypt. Jego ID to widget-js, do usuwania elementów w jQuery masz $(selektor).remove();

0

Z programistycznego punktu widzenia nie mam pojęcia jak się do tego zabrać. Jednak jeśli kogoś interesuje rozwiązanie w stylu 'out of the box' to wystarczyło zmienić dostawcę widgeta (Krajowy Instytut Meteorologii). Jak się domyślam, w tym wypadku skrypt jest wykonywany po stronie serwisu pogodowego.
Nie mniej jednak postaram się znaleźć również rozwiązanie tamtego problemu, a za odpowiedź dziękuje:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1