![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 873 Pomógł: 25 Dołączył: 24.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam formularz a w nim pola ( cały ten form wczytywany jest ajaxem po kliknięciu w przycisk ) 1. rabat pole input text 2. liczba osobo pole select option 3. tak/tak pole radio 4 oplata pole input text Dlaczego takie coś testowe coś $("select#liczbaOsob").change(function(){ alert('zmieniles liczbe osob'); }); nie dostaję alertu na ekran. dlaczego? tak jak pisałem wyżej form po kliknięciu w przycisk wczytywany jest z pliku php na serwerze. Dziwne tak jakby nie widział tego co wczytuje z php? konsola nie pokazuje błędów. wrrrrrr Ten post edytował john_doe 9.02.2011, 23:29:15 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Zainteresuj się jquery#live
Powód jest następujący: Przypisujesz elementom które jeszcze nie zostały wczytane zdarzenia, więc jak mają one działać? Ja ten problem rozwiązuje następująco (nie lubię live z kilku przyczyn): Wykonuję żądanie AJAX i dopiero w onsuccess przypisuję zdarzenia do tego co pobrałem, skutkuje to wzrostem wydajności (bo nie przeszukujemy całego drzewa DOM tylko kod który pobraliśmy) i mamy wszystko w jednym miejscu i zdarzenie zostanie na pewno przypisane raz, a nie jak w przypadku live może się zdarzyć że to samo zdarzenie będzie przypisane kilkukrotnie do elementu. P.S. Zamiast $("select#liczbaOsob"), lepiej już użyć $("#liczbaOsob"), w tym przypadku jQuery nie musi parsować wyrażenia. Ten post edytował melkorm 10.02.2011, 08:57:45 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 05:35 |