Ek doen 'n baie van XSLT en jQuery en het gedink dat ek 'n paar stukkies wat ander kan nuttig wees in die toekoms wil deel.
Voorbeeld 1: Uitstraal eenvoudige JavaScript / jQuery in XSLT:
<xsl:sjabloon wedstryd = "iets" xml:ruimte = "bewaar">
<!– Blank uit die soektog vriendelike filters verborge veld –>
<script type = "text / JavaScript">
$(dokument).gereed(funksie(){
$("# QueryFriendlyFilters").Val("Leë");
});
</script></xsl:sjabloon>
Dit bietjie straal 'n paar JavaScript wat wag vir die bladsy laai te voltooi (as gevolg van die $(dokument).gereed(...)) en stel dan die waarde van 'n versteekte veld met die naam QueryFriendlyFilters aan die letterlike waarde "leë".
Voorbeeld 2: Gebruik <xsl:indien> om te kyk nie. "groter as", "Minder as", ens..
<xsl:sjabloon wedstryd = "iets" xml:ruimte = "bewaar">
<div id = "fdcAllFilters">
<xsl:as toets = "@ Graaf>0">
<span class = "fdcFilterLabel">Huidige filters:</span>
</xsl:indien><!– meer dinge gebeur hier. –>
</xsl:sjabloon>
Die bogenoemde uit nagegaan om te sien as 'n kenmerk met die naam "Count" van die "iets" element is groter as nul. Die XML agter dit sou wees iets soos:"
<iets Count = "5" />
Voorbeeld 3: Itereer deur al die elemente, interspersing jQuery oproepe.
<!– Itereer deur al die filters en vertoon die korrekte skakels. –>
<xsl:vir-elke kies = "UserFilter-"><a class = "FilterHref" href = "javascript:mySubmitPage(‘RemoveUserFilter’,"{@ ID}")">[X]</1>
<span class = "fdcFilterLabel"><xsl:waarde van uitgesoekte = "@ FilterValue" /></span>
<script type = "text / JavaScript">$(dokument).gereed(funksie(){
<xsl:teks><![CDATA[$("# QueryFriendlyFilters").Val( ($("# QueryFriendlyFilters").Val() + " ]]></xsl:teks>\"<xsl:waarde van uitgesoekte = "@ FilterValue" />\"<xsl:teks><![CDATA["));]]></xsl:teks>
});</script>
</xsl:vir-elke>
Die bogenoemde uit die mees komplekse en daar kan makliker wees om maniere om dit te doen.
Die XML agter dit lyk ongeveer soos hierdie:
<UserFilter ID = "123" FilterValue = "Xyzzy" />
Hierdie brokkie is iterating deur <UserFilter> nodes.
Dit straal die eerste keer 'n anker tag dat wanneer gekliek beroept 'n JavaScript-funksie wat op die bladsy is reeds, "MySubmitPage" en gaan die waarde van 'n kenmerk van die <UserFilter> node met die naam "ID".
Dit straal dan 'n paar jQuery wat wag vir die bladsy te laai. JQuery updates 'n versteekte veld met die naam "QueryFriendlyFilters" deur die byvoeging van die waarde van die FilterValue kenmerk. Let op al die gek <xsl:teks> en <![CDATA[ ... ]]> dinge.
Dit is dit, hoop dit help!
</einde>
Volg my op Twitter http://www.twitter.com/pagalvin