Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript][AJAX] Problem z jQuery - .load() z zewnętrznego pliku
Forum PHP.pl > Forum > Przedszkole
nanoo
Witam,
mam taki problem ze skryptem wykorzystującym Ajax + jQuery.
Otóż mam skrypt, który po wybraniu opcji z listy rozwijanej wykorzystując Ajax ładuje obrazek. Dodatkowo wykorzystując jQuery ( .load() ) załadować opis obrazka z zewnętrznego pliku html. Każdy opis we wspomnianym pliku html jest w innym divie (z różnymi id). Jednak mam z tym problem.
Kod który powinien ładować opis z pliku wygląda tak (umieszczony w headzie):
  1. $(document).ready(function(){
  2.  
  3. $("#lista").change(function () {
  4. var wartosc_pola = $('#lista option:selected').val();
  5. if (wartosc_pola == '1'){
  6. $('#div2').load('miasta.html #jeden');
  7.  
  8. }
  9. if (wartosc_pola == '2'){
  10. $('#div2').load('miasta.html #dwa');
  11.  
  12. }
  13.  
  14. );
  15. });
  16. }
  17. });

natomiast lista rozwijana wygląda tak:
  1. <select id="lista" onChange="pobierzDane();">
  2. <option value="0">Wybierz miasto
  3. <option value="1">Wroclaw
  4. <option value="2">Warszawa
  5. </select>


Problem być może jest banalny jednakże to moje początki w Ajaksie i jQuery (a nawet w JS) i wydaje mi się, że coś jest nie tak w tym miejscu:
  1. var wartosc_pola = $('#lista option:selected').val();


Niestety, nie mam pomysłu jak sobie z tym poradzić.

Z góry dziękuję za wszelką pomoc, pozdrawiam!
Necsord
Jeżeli chodzi o błędy w obecnym skrypcie:
1) W select onChange="pobierzDane();" jest zbedne, funkcja nie istnieje.
2) Zamiast $('#lista option:selected').val(); to $('#lista').val();
3) W skrypcie masz za duzo zamknięć "})".


  1. $(document).ready(function(){
  2. $("#lista").change(function () {
  3. var wartosc_pola = $('#lista').val();
  4. if (wartosc_pola == '1'){
  5. $('#div2').load('miasta.html #jeden');
  6.  
  7. }
  8. if (wartosc_pola == '2'){
  9. $('#div2').load('miasta.html #dwa');
  10.  
  11. }
  12.  
  13. });
  14. }
  15. );
nanoo
Dzięki za odpowiedź!
A tak, nie sprecyzowałem, bo zamieściłem tutaj tylko fragment kodu.
  1. onChange="pobierzDane();"

Odnosi się do ajaksowego pobierania obrazka i to działa jak należy.
I zgadza się, miałem kilka zbędnych zamknięć smile.gif

Z przypisaniem wartości do zmiennej wierzę na słowo, że teraz jest poprawnie, gdyż nie wiem jak to sprawdzić. Próbowałem coś w stylu
  1. var wartosc_pola = $('#lista').val();
  2. $("#div2").html(wartosc_pola);

ale w #div2 jest pusto.

Jednakże to nie rozwiązuje mojego problemu i opisy w dalszym ciągu nie są pobierane... Czy gdzieś jeszcze może leżeć przyczyna?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.