probleme cu meniu (xsl, xml, javascript)
Last Updated: Jun 12 2010 20:17, Started by
radak75
, Jun 12 2010 20:17
·
0
#1
Posted 12 June 2010 - 20:17
salutare,
am o problema cu xsl. trebuie sa transform xml in html. Am incercat, toate apar bine, mai putin cind trebuie din datele selectate sa fac un meniu cu javascript. xml <Tree> <Ebene ueebene="1"> <UB> <UeBez>Titel1</UeBez> <UebKomentar>B.Sc.</UebKomentar> </UB> <Ebene ueebene="2"> <UB> <UeBez>text</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text1</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text2</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text3</UeBez> </UB> </Ebene> </Ebene> <Ebene ueebene="1"> <UB> <UeBez>Titel2</UeBez> <UebKomentar>B.Sc.</UebKomentar> </UB> <Ebene ueebene="2"> <UB> <UeBez>text</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text1</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text3</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text4</UeBez> </UB> </Ebene> </Ebene> <Ebene ueebene="1"> <UB> <UeBez>Titel3</UeBez> <UebKomentar>B.Sc.</UebKomentar> </UB> <Ebene ueebene="2"> <UB> <UeBez>text</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text1</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text2</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text3</UeBez> </UB> </Ebene> </Ebene> <Ebene ueebene="1"> <UB> <UeBez>Titel4</UeBez> <UebKomentar>B.Sc.-NF</UebKomentar> </UB> <Ebene ueebene="2"> <UB> <UeBez>text</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text1</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text2</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text3</UeBez> </UB> </Ebene> </Ebene> <Ebene ueebene="1"> <UB> <UeBez>Titel5</UeBez> <UebKomentar>B.Sc.-NF</UebKomentar> </UB> <Ebene ueebene="2"> <UB> <UeBez>text</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text1</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text2</UeBez> </UB> </Ebene> </Ebene> <Ebene ueebene="1"> <UB> <UeBez>Titel6</UeBez> <UebKomentar>M.Sc.</UebKomentar> <ZUebPostnotiz /> </UB> <Ebene ueebene="2"> <UB> <UeBez>text</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text1</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text2</UeBez> </UB> </Ebene> <Ebene ueebene="2"> <UB> <UeBez>text3</UeBez> </UB> </Ebene> </Ebene> </Tree> si xsl <xsl:variable name="Fachnr" select="count(Tree/Ebene[@ueebene=1])"/> <script type="text/javascript"> function setVisible(Fach_Nummer) { for (var i = 0; i <=<xsl:value-of select="$Fachnr"/> ; i++) { if (i != 0) { document.getElementById('Fach_' + i).style.display=(('Fach_' + i)==Fach_Nummer)?'inline' : 'none';} document.getElementById('Tab_' + i).style.fontWeight=(('Fach_' + i)==Fach_Nummer)?'600' : 'normal'; document.getElementById('Tab_' + i).style.zIndex=(('Fach_' + i)==Fach_Nummer)?'100' : i; document.getElementById('Tab_' + i).className=(('Fach_' + i)==Fach_Nummer)? 'active' : 'inactive'; } setKatVisible('TabKat_' + Fach_Nummer.substring(5)); } function setKatVisible(Kat_Nummer) { for (var i = 1; i <=<xsl:value-of select="$Fachnr"/> ; i++) { document.getElementById('TabKat_' + i).style.display=(('TabKat_' + i)==Kat_Nummer)?'inline' : 'none'; } } </script> <xsl:template name="navigare"> <div id="lv-navigation" class="clearfix"> <div id="lv-navSus" class="clearfix"> <div id="lv-navFach" class="clearfix"> <ul class="clearfix"> <xsl:for-each select="Tree/Ebene[@ueebene=1]/UB[generate-id(.)=generate-id( key('Fach',UebKomentar)[1])]"> <li><a> <xsl:attribute name="id">Tab_<xsl:value-of select="position()"/></xsl:attribute> <xsl:value-of select="UebKomentar"/></a></li> </xsl:for-each> </ul> </div> </div> <div id="lv-navKategorie"> <xsl:for-each select="Tree/Ebene[@ueebene=1]/UB[count(. | key('Fach',UebKomentar)[1])]"> <xsl:for-each select="key('Fach',UebKomentar)"> <span class="lv-tabKategorie"> <xsl:attribute name="id">TabKat_<xsl:value-of select="position()"/></xsl:attribute> <span class="lv-kat"> <a> <xsl:attribute name="href"> #katAnker_<xsl:value-of select="generate-id(.)"/> </xsl:attribute> <xsl:value-of select="UeBez"/> </a> </span> </span> </xsl:for-each> </xsl:for-each> </div> </div> </xsl:template> normal, trebuie pe prima linie selectat dupa UebKomentar. Pentru fiecare UebKomentar sa apara pe linia a doua de meniu UeBez si pentru fiecare UeBez pe linia a treia de meniu sa apara UeBez de pe Ebene ueebene="2". Momentan incerc primele 2 linii de meniu sa le creez, dar imi apare urmatoarea eroare document.getElementById("Tab_" + i) is null document.getElementById('Tab_' + i).style.fontWeight=(('Fach_' + i)==Fach_Nummer)?'600' : 'normal'; poate cineva sa-mi spuna unde ii greseala? sau am facut ceva gresit la selectare? Dana |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users