Mi estis faranta multa de XSLT kaj jQuery kaj pensis min dividus kelkajn eretojn ke aliaj povas trovi utilan en estonteco.
Ekzemplo 1: Emanigi simplan JavaScript / JQuery en XSLT:
<Xsl:Ŝablona matĉo="aĵo" Xml:Spaciala="konservaĵo">
<!– Malplenaĵo ekstere la demando amikaj filtriloj kaŝita kampon –>
<Skriba tipo="teksto/javascript">
$(Dokumento).Preta(Funkcio(){
$("#QueryFriendlyFilters").Val("Senhoma");
});
</Skribo></Xsl:Ŝablono>
Kiu mordis emanigas kelkaj JavaScript kiu atendas por la paĝo fini ŝarĝadon (Pro la $(Dokumento).Preta(…)) Kaj tiam fiksas la valoron de kaŝa kampo nomis QueryFriendlyFilters al la laŭvorta valoro “senhoma”.
Ekzemplo 2: Uzo <Xsl:Se> Kontroli “pli grandan ol”, “Malpli ol”, Ktp.
<Xsl:Ŝablona matĉo="aĵo" Xml:Spaciala="konservaĵo">
<Div identigaĵo="fdcAllFilters">
<Xsl:Se testa="@Kalkulo>0">
<Daŭri dum klason="fdcFilterLabel">Nunaj filtriloj:</Daŭri dum>
</Xsl:Se><!– Pli da aĵo okazas ĉi tie. –>
</Xsl:Ŝablono>
La supraj eretaj kontroloj vidi se eco nomis “Kalkulon” de la “aĵa” elemento estas pli granda ol nulo. La XML malantaŭ tio ĉi estus io ŝatas:”
<Io Kalkulas=”5” />
Ekzemplo 3: Iterate tra ĉiuj elementoj, Intermetanta jQuery vokoj.
<!– Iterate tra ĉiuj la filtriloj kaj montri la ĝustan Ligoj. –>
<Xsl:Pro tio ke-ĉiu elektita="UserFilter"><Klaso="FilterHref" Href="javascript:MySubmitPage(‘RemoveUserFilter','{@#IDENTIGA?O}')">[X]</al>
<Daŭri dum klason="fdcFilterLabel"><Xsl:Valoro-de elektita="@FilterValue"/></Daŭri dum>
<Skriba tipo="teksto/javascript">$(Dokumento).Preta(Funkcio(){
<Xsl:Teksto><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></Xsl:Teksto>\"<Xsl:Valoro-de elektita="@FilterValue"/>\"<Xsl:Teksto><![CDATA["));]]></Xsl:Teksto>
});</Skribo>
</Xsl:Pro tio ke-ĉiu>
La supra ereto estas la plej kompleksa kaj tie povas esti pli facilaj vojoj fari ĝin.
La XML malantaŭ ĉi tiuj rigardoj malglate tiel:
<UserFilter IDENTIGAĴO=”123” FilterValue=”xyzzy” />
Ĉi tiu ereto estas iterating tra <UserFilter> Nodoj.
Ĝi unue emanigas ankran etikedon ke kiam klakita alvokas JavaScript funkcio kiu estas jam sur la paĝo, “MySubmitPage” kaj pasas la valoron de eco sur la <UserFilter> Nodo nomis “IDENTIGAĴON”.
Ĝi tiam emanigas kelkaj jQuery kiu atendas por la paĝo ŝarĝi. KE jQuery ĝisdatigas kaŝan kampon nomis “QueryFriendlyFilters” de aldonanta la valoron de la FilterValue eco. Noti ĉiuj la freneza <Xsl:Teksto> Kaj <![CDATA[ … ]]> Aĵo.
Tio estas ĝi, Esperi ĝin helpoj!
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin