Am făcut o mulţime de XSLT şi jQuery şi gândit aş parts câteva fragmente care alţii pot considera util în viitor.
Exemplu 1: Emite simplu JavaScript / jQuery în XSLT:
<XSL:meci de şablon "ceva =" XML:spaţiu = "conserva">
<!– Martor interogare prietenos filtrele câmp ascuns –>
<script-ul de tip = "text/javascript">
$(document).gata(funcţia(){
$("#QueryFriendlyFilters").vasilica("gol");
});
</script-ul>
</XSL:şablon>
Că pic emite unele JavaScript care aşteaptă pentru ca pagina să termin de încărcare (din cauza $(document).gata(…)) şi seturi de valoarea unui câmp ascuns numit atunci QueryFriendlyFilters la valoarea literal "gol".
Exemplu 2: Utilizarea <XSL:Dacă> pentru a verifica "mai mare", "mai puţin", etc.
<XSL:meci de şablon "ceva =" XML:spaţiu = "conserva">
<div id = "fdcAllFilters">
<XSL:Dacă test="@Count>0">
<span class = "fdcFilterLabel">Filtre de curent:</durata de>
</XSL:Dacă>
<!– mai multe lucruri se întâmplă aici. –>
</XSL:şablon>
Fragmentul de mai sus controale pentru a vedea dacă un atribut numit "Conta" a elementului "ceva" este mai mare decât zero. XML-ul din spatele acest lucru ar fi ceva de genul:”
<ceva Count = "5" />
Exemplu 3: Repeta prin toate elementele, Interspersing jQuery apeluri.
<!– Repeta prin toate filtrele şi afişa corect link-uri. –>
<XSL:pentru fiecare select = "UserFilter">
<o clasa = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ID}’)">[X]</o>
<span class = "fdcFilterLabel"><XSL:valoare de select="@FilterValue"/></durata de>
<script-ul de tip = "text/javascript">
$(document).gata(funcţia(){
<XSL:textul><![CDATA[$("#QueryFriendlyFilters").vasilica( ($("#QueryFriendlyFilters").vasilica() + " ]]></XSL:textul>\"<XSL:valoare de select="@FilterValue"/>\"<XSL:textul><![CDATA["));]]></XSL:textul>
});
</script-ul>
</XSL:pentru fiecare>
Fragmentul de mai sus este cea mai complexă şi poate fi mai uşor de moduri de a face acest lucru.
XML-ul din spatele acestei arata aproximativ asa:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Acest fragment este iterarea prin <UserFilter> noduri.
El emite mai întâi o ancoră tag-ul care atunci când aţi făcut clic pe invocă o funcţie JavaScript, care este deja pe pagina, "mySubmitPage" şi trece în valoarea de un atribut <UserFilter> nodul numit "ID".
Ea emite apoi unele jQuery care aşteaptă pentru ca pagina să se încarce. JQuery care actualizează un câmp ascuns numit "QueryFriendlyFilters" prin adăugarea valorii atributului FilterValue. Notă toate nebun <XSL:textul> şi <![CDATA[ … ]]> chestii.
Asta este, Sperăm că vă ajută!
</scop>
Aboneaza-te la blog-ul meu.
Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin