Ho fatto un sacco di XSLT e jQuery e ho pensato di che condividere alcuni frammenti che altri possono trovare utili in futuro.
Esempio 1: Emettono semplice JavaScript / jQuery in XSLT:
<xsl:partita modello = "qualcosa" XML:Space = "preserve">
<!– Vuoto il campo nascosto filtri amichevole di query –>
<tipo di script = "text/javascript">
$(documento).pronto(funzione(){
$("#QueryFriendlyFilters").Val("vuoto");
});
</script di></xsl:modello>
Quel ' emette alcuni JavaScript che attende la pagina alla fine del caricamento (causa della $(documento).pronto(…)) e quindi imposta il valore di un campo nascosto denominato QueryFriendlyFilters per il valore letterale "Svuota".
Esempio 2: Uso <xsl:Se> per controllare "maggiore di", "meno di", ecc.
<xsl:partita modello = "qualcosa" XML:Space = "preserve">
<div id = "fdcAllFilters">
<xsl:Se test="@Count>0">
<span class = "fdcFilterLabel">Filtri correnti:</arco>
</xsl:Se><!– più roba succede qui. –>
</xsl:modello>
Questo frammento di codice consente di verificare se un attributo denominato "Contare" dell'elemento "qualcosa" è maggiore di zero. il XML dietro questo sarebbe qualcosa come:”
<qualcosa Count = "5" />
Esempio 3: Scorrere tutti gli elementi, inframmezzando chiamate jQuery.
<!– Scorrere tutti i filtri e visualizzare la corretta link. –>
<xsl:for each selezionare = "Benutzerfilter"><una classe = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</un>
<span class = "fdcFilterLabel"><xsl:valore di select="@FilterValue"/></arco>
<tipo di script = "text/javascript">$(documento).pronto(funzione(){
<xsl:Testo><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></xsl:Testo>\"<xsl:valore di select="@FilterValue"/>\"<xsl:Testo><![CDATA["));]]></xsl:Testo>
});</script di>
</xsl:for each>
Questo frammento di codice è il più complesso e ci possono essere più facili modi per farlo.
il XML dietro questo assomiglia all'incirca a questo:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Scorrimento di questo frammento <UserFilter> nodi.
In primo luogo emette un ancoraggio etichetta che quando si fa clic richiama una funzione JavaScript che è già nella pagina, "mySubmitPage" e passa il valore di un attributo <UserFilter> nodo denominato "ID".
Emette poi qualche jQuery che attende la pagina caricare. Quel jQuery aggiorna un campo nascosto di nome "QueryFriendlyFilters", aggiungendo il valore dell'attributo FilterValue. Nota tutti il pazzo <xsl:Testo> e <![CDATA[ … ]]> roba.
Questo è tutto, speranza che aiuta!
</fine>
Seguimi su Twitter a http://www.twitter.com/pagalvin
Posso utilizzare questo approccio per filtrare più webparts elenco di SharePoint tramite un XSLT?
Ciao, Mi dispiace ho mai risposto a questo. A questo punto è antica e quindi non cerco. Spero che capito cosa stavi cercando di fare :).