Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Zdobywanie wartości id rodzica
sweter
post
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Witam,

mam taki kodzik:

  1.  
  2. <h5 id="1"><div class="wybrano_l"></div>Menu</h5>
  3. <ul id="i1" class="undermenu">
  4. <li id="1">Menu<div id="w1" class="wybrano_p" style="display:block"></div></li>
  5. <li id="2">Menu<div id="w2" class="wybrano_p"></div></li>
  6. <li id="3">Menu<div id="w3" class="wybrano_p"></div></li>
  7. <li id="4">Menu<div id="w4" class="wybrano_p"></div></li>
  8. <li id="5">Menu<div id="w5" class="wybrano_p"></div></li>
  9. </ul>
  10. <h5 id="2"><div class="wybrano_l"></div>Menu</h5>
  11. <ul id="i2" class="undermenu">
  12. <li id="1">Menu<div id="w1" class="wybrano_p" style="display:block"></div></li>
  13. <li id="2">Menu<div id="w2" class="wybrano_p"></div></li>
  14. <li id="3">Menu<div id="w3" class="wybrano_p"></div></li>
  15. </ul>
  16.  
  17.  


Menu działa w taki sposób:

Domyślnie klasy "undermenu" są niewidoczne(display:none) - widać tylko elementy <h5>.

Po kliknięciu na taki element rozwija się konkretna lista (np. klikam w <h5> z id="1" pokazuje się lista z id="i1").

Następnie można kliknąć wybrany element <li>. Obok niego powinien pojawić się <div> z class="wybrano_p".

Jednak mam problem z tym, że po wybraniu np. <li id="2">, którego rodzicem jest <h5 id="1">, i kliknięciu na <h5 id="2"> Nie ma tam domyślnie zaznaczonej pierwszej pozycji (IMG:style_emoticons/default/sad.gif)

Sądzę, że dobrym rozwiązaniem było by pobranie atrybutu "id" z elementu nadrzędnego <li>, czyli z <h5>. Czy jest to możliwe za pomocą js?

A co Wy o tym sądzicie?

Poniżej zamieszczam kod java script:

Kod
$("H5").click(function(){
                    var id = $(this).attr("id");
                    var stan = $("#i"+id).css("display");
                    if(stan=="none"){
                        $(".wybrano_l").css("rotation","90deg anti-clockwise");
                        $(".undermenu").slideUp("normal");
                        $("#i"+id).slideToggle("normal");
                    }
                });
                
                $(".undermenu > li").click(function(){
                    var id = $(this).attr("id");
                    $(".wybrano_p").hide("fast");
                    $(".undermenu > li").css("font-weight","normal");
                    $(this).css("font-weight","bold");
                    $("#w"+id).show("fast");
                });


Ten post edytował sweter 30.01.2010, 22:09:01
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.08.2025 - 17:50