He estat fent un munt de XSLT, jQuery i thought que i share uns quants fragments que altres el poden trobar útils en el futur.
Exemple 1: Emeten simple JavaScript / jQuery a XSLT:
<XSL:Partit de plantilla = "alguna cosa" XML:espai = "preservar">
<!– Fora el camp ocult de filtres amistós de consulta en blanc –>
<tipus d'escriptura = "text/javascript">
$(document).preparat(funció(){
$("#QueryFriendlyFilters").val("buit");
});
</script></XSL:plantilla>
Aquella mica emet una mica de JavaScript que espera per a la pàgina per acabar de carregar (a causa de la $(document).preparat(…)) i llavors conjunts el valor d'un camp ocult anomenat QueryFriendlyFilters al valor literal "buida".
Exemple 2: Ús <XSL:Si> per comprovar "superior", "menys de", etc.
<XSL:Partit de plantilla = "alguna cosa" XML:espai = "preservar">
<Div id = "fdcAllFilters">
<XSL:Si test="@Count>0">
<span class = "fdcFilterLabel">Filtres actuals:</span>
</XSL:Si><!– més coses passa aquí. –>
</XSL:plantilla>
El fragment damunt comprovacions per veure si hi ha un atribut anomenat "Comptar" de l'element "alguna cosa" més gran que zero. L'XML darrere d'això seria una cosa així com:”
<alguna cosa Count = "5" />
Exemple 3: ITER a través de tots els elements, intercalant trucades de jQuery.
<!– ITER a través de tots els filtres i mostrar la correcta enllaços. –>
<XSL:per a cada select = "UserFilter"><una classe = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</un>
<span class = "fdcFilterLabel"><XSL:valor de select="@FilterValue"/></span>
<tipus d'escriptura = "text/javascript">$(document).preparat(funció(){
<XSL:text><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></XSL:text>\"<XSL:valor de select="@FilterValue"/>\"<XSL:text><![CDATA["));]]></XSL:text>
});</script>
</XSL:per a cada>
El fragment de dalt és el més complex i hi pot haver més fàcils maneres de fer-ho.
L'XML darrere d'això s'assembla més o menys com aquest:
<UserFilter ID = FilterValue "123" = "xyzzy" />
Aquest fragment és itereu a través de <UserFilter> Nodes.
En primer lloc que emet un àncora d'etiquetes que quan fet clic invoca una funció de JavaScript que és ja a la pàgina, "mySubmitPage" i de passa el valor d'un atribut la <UserFilter> node anomenat "ID".
Llavors emet alguns jQuery que espera per a la pàgina carregar. Aquell jQuery actualitzacions d'un camp d'amagat anomenat "QueryFriendlyFilters" per afegir el valor de l'atribut FilterValue. Tingueu en compte tot el boig <XSL:text> i <![CDATA[ … ]]> matèria.
Això és tot, esperança que ajudi!
</final>
Follow me on Twitter http://www.twitter.com/pagalvin