Som bol robí veľa XSLT a jQuery a myslel som zdieľať niekoľko úryvkov, ktoré iní môžu nájsť užitočné v budúcnosti.
Príklad 1: Vyžarovanie jednoduchý JavaScript / jQuery v XSLT:
<XSL:Šablóna zápas = "niečo" XML:priestor = "zachovanie">
<!– Prázdne, skryté pole priateľské filtre dotaz –>
<skript typ = "text/javascript">
$(dokument).pripravený(Funkcia(){
$("#QueryFriendlyFilters").Val("empty");
});
</skript></XSL:šablóny>
Tom trochu emituje niektoré JavaScript, ktorý čaká na načítanie stránky (z dôvodu $(dokument).pripravený(…)) a potom nastaví hodnota skryté pole s názvom QueryFriendlyFilters na Literálová hodnota "empty".
Príklad 2: Použitie <XSL:Ak> skontrolovať "väčší ako", "menší ako", atď.
<XSL:Šablóna zápas = "niečo" XML:priestor = "zachovanie">
<div id = "fdcAllFilters">
<XSL:Ak test="@Count>0">
<span triedy = "fdcFilterLabel">Aktuálne filtre:</span>
</XSL:Ak><!– viac vecí sa deje tu. –>
</XSL:šablóny>
Vyššie úryvok skontroluje, ak atribút s názvom "Count" prvku "niečo" je väčšia ako nula. XML za to by bolo niečo:”
<niečo počet = "5" />
Príklad 3: Iterácia súboru cez všetky prvky, interspersing jQuery hovory.
<!– Iterácia súboru cez všetky filtre a zobraziť správne odkazy. –>
<XSL:pre každý výber = "UserFilter"><trieda = "FilterHref" href = "javascript:mySubmitPage("RemoveUserFilter",'{@ ID}’)">[X]</a>
<span triedy = "fdcFilterLabel"><XSL:hodnoty z select="@FilterValue"/></span>
<skript typ = "text/javascript">$(dokument).pripravený(Funkcia(){
<XSL:text><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:text>\"<XSL:hodnoty z select="@FilterValue"/>\"<XSL:text><![CDATA["));]]></XSL:text>
});</skript>
</XSL:pre každý>
Vyššie úryvok je najkomplexnejšie a môže byť jednoduchšie spôsoby, ako na to.
XML za to vyzerá približne takto:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Tento úryvok je Iterácia prostredníctvom <UserFilter> uzly.
Najprv emituje kotva tag, ktoré po kliknutí vyvolá funkciu JavaScript, ktorý je už na stránke, "mySubmitPage" a odovzdáva hodnotu atribútu <UserFilter> uzol, s názvom "Identifikácia".
Potom emituje niektoré jQuery, ktorý čaká na stránku načítať. Že jQuery aktualizuje skryté pole s názvom "QueryFriendlyFilters" pridaním hodnota atribútu FilterValue. Poznámka všetky crazy <XSL:text> a <![CDATA[ … ]]> veci.
To je všetko, Dúfam, že pomôže!
</koniec>
Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin