Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wielokrotne dodawanie elementu do strony
gcdreak
post
Post #1





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Witam
Mam funkcję generującą link:
  1. function getEditIcon(size) {
  2. var cssClass,
  3. icon;
  4. size = size ? size : 16;
  5.  
  6. if (size <= 16) {
  7. cssClass = 'icon-edit'
  8. } else {
  9. cssClass = 'icon-edit-big'
  10. }
  11.  
  12. icon = $('<a />')
  13. .attr({
  14. 'href': '#',
  15. 'title': 'Edycja',
  16. 'class': cssClass
  17. });
  18.  
  19. return icon;
  20. }

Działa bez problemu.
Następnie chcę dodać utworzoną ikonkę do kilku elementów strony:
  1. var icon = getEditIcon();
  2.  
  3. $('#firstname').appendicon);
  4. $('#lastname').append(icon);
  5. $('#city').append(icon);
  6. $('#year').append(icon);

Ikonka pojawia się jedynie przy ostatnim elemencie (#year).
Dlaczego tak się dzieję i jak można temu zapobiec?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dodając jakiś istniejący już obiekt do czegoś, to go zabierasz z tego co był najpierw, a potem go wpinasz tam gdzie chcesz. W rezultacie masz go w ostatnim elemencie (IMG:style_emoticons/default/smile.gif)

Musisz klonować obiekt i dodawać klony a nie ciągle i ten sam obiekt.
Go to the top of the page
+Quote Post
misi3k
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 17.04.2011

Ostrzeżenie: (0%)
-----


Spróbuj tak:
  1. $('#firstname, #lastname, #city, #year').each(function(index) {
  2. $(this).append(icon);}
  3. );
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@misi3k przeczytałeś chociaż mojego posta?
To co ty zaproponowałeś to jest to samo co robi autor tylko inaczej zapakowane...
Go to the top of the page
+Quote Post
buliq
post
Post #5





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


A wszystko tak ładnie opisali w manualu (IMG:style_emoticons/default/tongue.gif)

Go to the top of the page
+Quote Post
misi3k
post
Post #6





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 17.04.2011

Ostrzeżenie: (0%)
-----


A rzeczywiście, mój błąd. @buliq słusznie zwraca uwagę na clone().
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A ja to niby na co zwracałem uwagę
Cytat
Musisz klonować obiekt i dodawać klony a nie ciągle i ten sam obiekt.

?
(IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
gcdreak
post
Post #8





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


@nospor
Eleganko mi to wytłumaczyleś. Dziękuję
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 06:26