Jeg har gjort mye av XSLT og jQuery og tenkte jeg ville dele noen utdrag som andre vil finne nyttig i fremtiden.
Eksempel 1: Avgi enkel JavaScript / jQuery i XSLT:
<XSL:malen kamp = "noe" XML:Space = "bevare">
<!– Viske ut det skjulte feltet for spørring-vennlig filtre –>
<script type = "text/javascript">
$(dokumentet).klar(funksjonen(){
$("#QueryFriendlyFilters").Val("tom");
});
</skriptet></XSL:mal>
At bit avgir noen JavaScript som venter på side å slutten lessing (grunn av den $(dokumentet).klar(…)) og deretter Sett verdien for et skjult felt kalt QueryFriendlyFilters til den litterale verdien "tom".
Eksempel 2: Bruk <XSL:Hvis> å sjekke "større enn", "mindre enn", osv..
<XSL:malen kamp = "noe" XML:Space = "bevare">
<div id = "fdcAllFilters">
<XSL:Hvis test="@Count>0">
<span class = "fdcFilterLabel">Gjeldende filtre:</utstrekningen>
</XSL:Hvis><!– flere ting som skjer her. –>
</XSL:mal>
Ovenfor snippeten kontrollerer Hvis et attributt kalt "Antall" av "noe"-elementet er større enn null. XML bak dette ville være noe sånt som:”
<noe Count = "5" />
Eksempel 3: Gå gjennom alle elementer, Interspersing jQuery samtaler.
<!– Gå gjennom alle filtre og vise riktig koblinger. –>
<XSL:for each Velg = "UserFilter"><en klasse = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</en>
<span class = "fdcFilterLabel"><XSL:verdien av select="@FilterValue"/></utstrekningen>
<script type = "text/javascript">$(dokumentet).klar(funksjonen(){
<XSL:tekst><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:tekst>\"<XSL:verdien av select="@FilterValue"/>\"<XSL:tekst><![CDATA["));]]></XSL:tekst>
});</skriptet>
</XSL:for each>
Ovenfor snippeten er den mest kompliserte, og det kan være enklere måter å gjøre det.
XML bak dette ser omtrent slik ut:
<UserFilter-ID = "123" FilterValue = "xyzzy" />
Denne tekstutdrag veksle <UserFilter> noder.
Den avgir først et anker kode som når klikket påkaller en JavaScript-funksjon som allerede finnes på siden, "mySubmitPage" og sender verdien av et attributt på den <UserFilter> kalt "ID"-noden.
Den deretter avgir noen jQuery som venter på siden for å laste inn. At jQuery oppdaterer et skjult felt som heter "QueryFriendlyFilters" ved å legge til verdien av attributtet FilterValue. Legg merke til alle sprø <XSL:tekst> og <![CDATA[ … ]]> ting.
Det er det, håpe det hjelper!
</slutten>
Følg meg på Twitter på http://www.twitter.com/pagalvin
Jeg kan bruke denne tilnærmingen for å filtrere flere liste-webdeler i SharePoint via en XSLT?
hei, Beklager jeg aldri reagert å denne. Det er gamle på dette punktet og så jeg ikke prøve. Jeg håper du funnet ut hva du prøvde å gjøre :).