Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery], wyświetlanie htmla w div po kliknięciu w inny div
john_doe
post 7.09.2011, 14:57:35
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


Witam,

załóżmy, że z bazy generuję sobie 20 <div> tutaj jakiś html</div>
generując musiałbym nadać każdemu z nich jakiś unikalny id.

teraz po kliknięciu w jednego z nich chciałbym pokazać jego zawartość w innym div smile.gif

zawartość mogę pobrać ('#idDiv').html()

jednak nie wiem jak w jQuery napisać funkcję która będzie brała różne id tego divów generowanych z bazki

czyli np. napisałem coś takiego

  1. <script type="text/javascript">
  2.  
  3. $(document).ready(function(){
  4.  
  5. $('#kliker').click(function(){
  6.  
  7. //$('#show').html('<img src="1.jpg" alt="" />');
  8.  
  9. var zawartosc = $('#1').html()
  10. alert(zawartosc);
  11.  
  12. });
  13.  
  14. });
  15.  
  16. </script>

i przykładowo w php dla testu

  1. <?php
  2.  
  3.  
  4. $items = array();
  5. $items[0] = '1.jpg';
  6. $items[1] = '2.gif';
  7. $items[2] = '3.gif';
  8.  
  9. $i=1;
  10. foreach($items as $item)
  11. {
  12. echo '<div id="'.$i.'"><img src="'. $item . '" alt="" /></div><br />';
  13. $i++;
  14. }
  15.  
  16. ?>
  17.  
  18.  
  19. <div id="kliker">kliker</div>
  20.  
  21. <div id="show"></div>

pozdrawiam

Ten post edytował john_doe 7.09.2011, 15:04:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
!*!
post 7.09.2011, 15:02:51
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nadajesz temu "wczytanemu" div zdarzenie $(this).click() po czym wyświetlasz jego zawartość gdzie chcesz.

Ten post edytował !*! 7.09.2011, 15:06:03


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
kamil4u
post 7.09.2011, 15:04:09
Post #3





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


A po co Ci nadawać id?
Stwórz div-y w taki sposób:
Kod
$('<div>', {
'html': 'tutaj jakiś html',
'click': function(){
   alert( $(this).html() );
}
});


--------------------
Go to the top of the page
+Quote Post
john_doe
post 7.09.2011, 15:06:31
Post #4





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


zobaczcie wyżej mój przykładowy zaczątek kodu
Go to the top of the page
+Quote Post
!*!
post 7.09.2011, 15:10:25
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nadaj każdemu div w #show zdarzenie .click() które wyświetli zawartość tak jak to jest wyżej. $(this) to będzie dany div jaki chcesz wyświetlić.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
kamil4u
post 7.09.2011, 15:11:20
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


- ID nie może być liczbą
- ustosunkuj się do naszych rad


--------------------
Go to the top of the page
+Quote Post
john_doe
post 7.09.2011, 15:13:19
Post #7





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


z tym id to tylko przykład na szybko z ręki. Jeszcze w JQ nie zamiatam tak fajnie.
w show chce pokazać zawartość html każdego z wygenerowanych divów z bazy czy z innego źródła bez znaczenia.
Nie bardzo rozumiem jak zastosować Wasze rady
Go to the top of the page
+Quote Post
!*!
post 7.09.2011, 15:14:28
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Kod
$('#show div').click(function() {
  alert('tu wstaw np .html() czy co tam chcesz aby odczytalo');
});


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
john_doe
post 7.09.2011, 15:19:26
Post #9





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


!*! zobacz w show ma się pojawić zawartość wygenerowanych div

  1. <div id="pic"><img src="1.jpg" alt="" /></div>
  2. <div id="pic"><img src="2.gif" alt="" /></div>
  3. <div id="pic"><img src="3.gif" alt="" /></div>
  4.  
  5.  
  6. <div id="show"></div>
  7.  
  8. tak w jquery
  9.  
  10. $('#pic').click(function(){
  11.  
  12. //$('#show').html('<img src="1.jpg" alt="" />');
  13.  
  14. var zawartosc = $(this).html()
  15. alert(zawartosc);
  16.  
  17. });
  18.  


i już coś kosi smile.gif tylko zwraca mi zawartość 1szego
Go to the top of the page
+Quote Post
kamil4u
post 7.09.2011, 15:20:45
Post #10





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


ID musi być unikalne. Użyj np. klasy(.nazwaKlasy)


--------------------
Go to the top of the page
+Quote Post
!*!
post 7.09.2011, 15:24:06
Post #11





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


http://jsfiddle.net/HctRa/


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
john_doe
post 12.09.2011, 11:50:11
Post #12





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


witam,

aby nie zakładać nowego posta..... w kwestii wielkości zdjęcia. Jak dorobić aby zdjęcie wczytywało się z jakimś kulającym się gifem? w sensie dać znać że coś zaraz się pojawi
Go to the top of the page
+Quote Post
!*!
post 13.09.2011, 08:19:01
Post #13





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Zależy jak to zrobisz. Poczytaj opcje http://api.jquery.com/jQuery.ajax/ rozpoczynasz pobieranie pobrazka, w tym samym czasie pokazujesz tzw "loader" gdy operacja pobierania zostanie zakończona, chowasz go.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
DM613
post 15.09.2011, 07:22:34
Post #14





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.09.2011

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


accord anniversary div a # appearance accident. bang () which displays the capacity as it is aloft. $ (This) it will be the div you wish to appearance.


--------------------

Tera Online GoldWOW Gold
Go to the top of the page
+Quote Post
lukaskolista
post 15.09.2011, 08:31:58
Post #15





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


A moze po prostu:
  1. <script type="text/javascript">
  2. $(function() {
  3. $(".click").bind(function() {
  4. var html = $(this).html();
  5. $("#target").html(html);
  6. });
  7. });

Skrypt nalezy umiescic za divami, jezeli chcesz przed to funkcje bind() musisz zastapic funkcja live(). Contenty powinny miec class="click", a div docelowy id="target", oczywiscie do dostosowania.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:44