Jeg har gjort en masse af XSLT og jQuery og tænkte jeg deler et par uddrag, som andre kan finde nyttige i fremtiden.
Eksempel 1: Udsende enkel JavaScript / jQuery i XSLT:
<XSL:skabelon match = "noget" XML:plads = "bevare">
<!– Tomt ud forespørgselsfelt venlige filtre skjulte –>
<script type = "tekst/javascript">
$(dokument).klar til(funktion(){
$("#QueryFriendlyFilters").Val("tom");
});
</script>
</XSL:skabelon>
Denne bit udsender nogle JavaScript, der venter på siden for at afslutte indlæsning (på grund af den $(dokument).klar til(…)) og derefter indstiller værdien af et skjult felt opkaldt QueryFriendlyFilters til konstantværdi "tom".
Eksempel 2: Brug <XSL:Hvis> at kontrollere "større end", "mindre end", osv.
<XSL:skabelon match = "noget" XML:plads = "bevare">
<div id = "fdcAllFilters">
<XSL:Hvis test="@Count>0">
<kalibreringsgas klasse = "fdcFilterLabel">Aktuelle filtre:</span>
</XSL:Hvis>
<!– flere ting sker her. –>
</XSL:skabelon>
Den ovennævnte snippet kontrollerer, hvis en attribut med navnet "Tæller" i elementet "noget" er større end nul. XML bag dette ville være noget:”
<noget Count = "5" />
Eksempel 3: Iterere gennem alle elementer, indsætte jQuery opkald.
<!– Iterere gennem alle filtrene og vise den korrekte links. –>
<XSL:for hver select = "UserFilter">
<en klasse = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</en>
<kalibreringsgas klasse = "fdcFilterLabel"><XSL:værdi-af select="@FilterValue"/></span>
<script type = "tekst/javascript">
$(dokument).klar til(funktion(){
<XSL:tekst><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:tekst>\"<XSL:værdi-af select="@FilterValue"/>\"<XSL:tekst><![CDATA["));]]></XSL:tekst>
});
</script>
</XSL:for hver>
Den ovennævnte snippet er den mest komplekse og kan der lettere måder at gøre det.
XML bag dette ser nogenlunde sådan ud:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Denne snippet iterere gennem <UserFilter> noder.
Det første udsender et anker mærke, når der klikkes på påberåber sig en JavaScript-funktion, der allerede er på siden, "mySubmitPage" og passerer værdien af en attribut den <UserFilter> node med navnet "ID".
Det udsender derefter nogle jQuery, som venter på siden for at indlæse. At jQuery opdaterer et skjult felt med navnet "QueryFriendlyFilters" ved at tilføje værdien af attributten FilterValue. Bemærk alle crazy <XSL:tekst> og <![CDATA[ … ]]> Stuff.
Det er det, håbe, det hjælper!
</slutningen>
Abonner på min blog.
Følg mig på kvidre på http://www.twitter.com/pagalvin