Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cutie de viteze manuala schimbata

Sofer pe ambulanta

Cum lipesc o lustra pe beton? Cum...

Achiziție boxa portabila sau...
 Pareri despre DS 923+? Procesor R...

Samsung Galaxy S10 probleme DNS

Extravalerianic și tiroidita...

Trigliceride ușor scazute - ...
 Problema internet DIGI - zte zxhn...

Suport umbrele 80 - 100 cm

Eroare calculator - Releu bujii O...

Plane (2023)
 Nesimtire si/sau incompetenta?

Physical: 100 (2023)

Este Kaufland și Carefour in...

The Three-Body Problem
 

probleme cu meniu (xsl, xml, javascript)

- - - - -
  • Please log in to reply
No replies to this topic

#1
radak75

radak75

    New Member

  • Grup: Members
  • Posts: 1
  • Înscris: 12.06.2010
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 &lt;=<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 &lt;=<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

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate