Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
Witam.
Otóż mam taki problem, posiadam siatkę zbudowana z komórek w tabelce, każda komórka ma dodatkowe atrybuty x="" i y="" teraz chce zrobić tak, aby po kliknięciu na guzik wywołała się funkcja, która doda 30 do tych atrybutów wiec jeśli x to 20 to po dodaniu będzie 50. Próbowałem to robić na kilka sposobów lecz się nie udaje, zawsze Jquery zwraca mi 0 wydaje mi się ze jest tak dlatego ponieważ jest ok. 30 takich samych elementów, chce aby funkcja zmieniła je wszystkie. Moim sposobem było to: $("td [id=map]").each( function () { var posx = $(this).attr('posx'); } ); I dalej funkcja zmieniająca, lecz już tutaj to nie działa ponieważ nie zwraca aktualnych danych. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
To w końcu jak nazywa się atrybut?
x czy posx ? |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
Jeden to posx
a drugi to posy czyli dwie osie X i Y |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
To jeszcze podaj kod html takiej tabeli (oczywiście nie taki na 5 stron A4) i będziemy mogli Ci pomóc.
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
A tu juz wygenerowany:
Ten post edytował paxton 22.06.2009, 15:35:37 |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Sorki, że nie odpisałem od razu. Coś mnie oderwało od komputera.
Kilka rzeczy rzuciło mi się w oczy: 1. Czy masz zdefiniowane kilka elementów o tym samym id (map)? 2. Zamiast dodawać onclick w td użyj do tego jQuery. 3. Nadal nie wiem, w którym momencie pobierasz ten atrybut. Rozumiem, że w funkcji save lub copy? |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
W zadnej z tych funkcji, jest ona gdzies indziej.
Mam ok ~120 elementow o tym ID. |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
ID jest juz unikatowe.
Wygląda następując: id="map;32,5" W tym przypadku pozycja komórki to posx='32' posy='5' |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Nie napisałeś czy działa.
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
Nie, nie dziala.
Moglbys mi napisac szablon funkcji: Po kliknięciu pobiera atrybuty posx i posy ze wszystkich TD. Bo to jest wlasnie to czego nie moge zrobic. |
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Gotowca? Wolne żarty...
Jak iterować pomiędzy obiektami, to pewnie wiesz; jest to główna funkcja jQ. A co do pobierania pozycji - split. |
|
|
|
Post
#13
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Zgadzam się z przedmówcą. Uzupełnię jedynie jego wypowiedź:
- selektor klasy - metoda each - metoda attr Jeśli nadal nie pobiera poprawnych współrzędnych, to pobierz atrybut id i przy pomocy funkcji, o której napisał ~erix, dobierzesz się do współrzędnych. |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
Nie gotowca, bo to o co prosze jest jedynie 5% całej funkcji, i nie dosłownie pozycje bo kazda pozycja jest generowana przez PHP w funkcji for()
To jest to co napisalem: $("td").each ( function() { window.test = ''; window.test = $(this).attr("posx"); } ); Dla szybkiego przykladu. Ten post edytował paxton 22.06.2009, 16:56:44 |
|
|
|
Post
#15
|
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Twój kod jest poprawny i musi działać.
Jedyne co przychodzi mi do głowy, to wywołanie funkcji następuje zanim wygenerowane zostanie drzewo dom. |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
Zwraca undefined.
|
|
|
|
Post
#17
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Ok, a jak tę funkcję wywołujesz?
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Londyn, UK Ostrzeżenie: (0%)
|
Dobra naprawiłem już (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dodałem po prostu nowe atrybuty name aby wyszukiwało dokładnie te które chce, dzięki za pomoc, dobre to forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 17:14 |