![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 11.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie w pętli w PHP wygenerowany form z polami input ukrytymi do przesłania $_POSTem.
Chciałem się dobrac do nich poprzez ajax. Na przykład coś takiego
Problem polega na tym, że obecnie w pętli mam tylko clasy, czyli nie mam się jak odwołać do każdego form z osobna. I po wywołaniu
Za każdym razem zwróci ten sam wynik, czyli prawdopodobnie elementu pierwszego z pętli. W jaki sposób zrobić, żeby to działało jak należy. Wiem, że mogę do pętli dodać zmienną $i=0 $i++ i dodać to do class "sss_dodaj_class<?php echo $i; ?>" Ale może istnieje lepszy sposób? Jak to ugryźć? Ten post edytował hejkumkejkum 2.01.2014, 02:54:06 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Problem polega na tym, że obecnie w pętli mam tylko clasy, czyli nie mam się jak odwołać do każdego form z osobna. I po wywołaniu
Za każdym razem zwróci ten sam wynik, czyli prawdopodobnie elementu pierwszego z pętli. W jaki sposób zrobić, żeby to działało jak należy. Jest OK. To co zrobiłeś w jQuery powoduje przypięcie do każdego elementu z klasą sss_dodaj_class (czyli do 3 formularzy) obsługi zdarzenia click. Każdy z tych detektorów jest świadomy swojego położenia - wie, do którego formularza należy. Dla przykładu, jeśli umieścisz w tamtej funkcji obsługi zdarzenia taką instrukcję:
... to klikając gdziekolwiek wewnątrz tych trzech formularzy otrzymasz wartość (to co ustawiasz w atrybucie value, ze zmiennej PHP $id) odpowiedniego inputa o nazwie sss_product_id. Dzieje się tak bo selektor this dokładnie określa z którego formularza został wywołany (tak jak pisałem - jest "świadomy" swojego położenia). Jeśli chcesz zrezygnować a określania elementów za pomocą ich atrybutów (class, name, itd) to przyjąwszy, że struktura formularzy jest stała, możesz odwołać się do kolejności elementów i wykorzystać funkcję jQuery eq(), która pozwoli Ci wybrać konkretny element z zestawu inputów:
Metoda inna ale efekt identyczny. Jak poczytasz rozdział o selektorach (http://api.jquery.com/category/selectors/) to odkryjesz jeszcze więcej sposobów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 17:06 |