Ich mache seit viel von XSLT und jQuery und dachte, ich würde ein paar Ausschnitte teilen, die andere in Zukunft nützlich sein können.
Beispiel 1: Einfache JavaScript ausgeben / jQuery in XSLT:
<XSL:Vorlage-Übereinstimmung = "etwas" XML:Space = "preserve">
<!– Die Abfrage freundlich Filter ausgeblendeten Feld leer –>
<Skript-Typ = "Text/Javascript">
$(Dokument).bereit(Funktion(){
$("#QueryFriendlyFilters").Val("leer");
});
</Skript></XSL:Vorlage>
Das Bit ausgibt einige JavaScript, das wartet, bis die Seite geladen (wegen der $(Dokument).bereit(…)) und dann der Wert eines ausgeblendeten Felds benannte Mengen QueryFriendlyFilters zu der literale Wert "leer".
Beispiel 2: Verwendung <XSL:If> "größer als" überprüfen, "kleiner als", usw..
<XSL:Vorlage-Übereinstimmung = "etwas" XML:Space = "preserve">
<Div Id = "FdcAllFilters">
<XSL:Wenn test="@Count>0">
<span Class = "FdcFilterLabel">Aktuelle Filter:</Spannweite>
</XSL:If><!– hier passiert mehr Material. –>
</XSL:Vorlage>
Der oben stehenden Ausschnitt prüft, ob ein Attribut namens "Zählen" des Elements "etwas" größer als 0 (null) ist. Der XML-Code dahinter wäre so etwas wie:”
<etwas Count = "5" />
Beispiel 3: Durchlaufen aller Elemente, einstreuen jQuery Aufrufe.
<!– Alle Filter durchlaufen und die korrekte Anzeige Links. –>
<XSL:for-each select = "UserFilter"><eine Klasse = "FilterHref" Href = "Javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</eine>
<span Class = "FdcFilterLabel"><XSL:Wert-der select="@FilterValue"/></Spannweite>
<Skript-Typ = "Text/Javascript">$(Dokument).bereit(Funktion(){
<XSL:Text><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:Text>\"<XSL:Wert-der select="@FilterValue"/>\"<XSL:Text><![CDATA["));]]></XSL:Text>
});</Skript>
</XSL:für jeden>
Der oben stehenden Ausschnitt ist die komplizierteste und möglicherweise gibt es einfachere Wege, es zu tun.
Der XML-Code dahinter sieht ungefähr wie folgt:
<UserFilter ID = "123" FilterValue = "Xyzzy" />
Dieser Ausschnitt ist durchlaufen <UserFilter> Knoten.
Es gibt zunächst einen Anker kennzeichnen, die beim Klicken auf Ruft eine JavaScript-Funktion, die bereits auf der Seite ist, "MySubmitPage" und übergibt den Wert eines Attributs auf der <UserFilter> Knoten mit dem Namen "ID".
Dann gibt es einige jQuery, die wartet, die Seite zu laden. Dass jQuery aktualisiert ein ausgeblendetes Feld mit dem Namen "QueryFriendlyFilters", indem den Wert des Attributs FilterValue. Beachten Sie alle verrückt <XSL:Text> und <![CDATA[ … ]]> Bestellung.
Das ist es, hoffe es Hilfen!
</Ende>
Folgen Sie mir auf Twitter bei http://www.twitter.com/pagalvin