Ako ay paggawa ng maraming ng XSLT at jQuery at naisip gusto kong ibahagi ang ilang mga snippet na ang mga iba ay maaaring kapaki-pakinabang sa hinaharap.
Halimbawa 1: Magbuga simpleng JavaScript / jQuery sa XSLT:
<xsl:template match = "ng isang bagay,,en,script type = "text / javascript",,en,"#QueryFriendlyFilters",,en,"Walang laman",,en,div id = "fdcAllFilters",,en,kung test = "@ Count,,en,span class = "fdcFilterLabel",,en,para-sa-bawat pumili = "UserFilter",,en,isang class = "FilterHref,,en,href = "javascript,,en,'RemoveUserFilter',,en,sulit ng mga piling = "@ FilterValue" /,,en" xml:space="preserve">
<!– Blangko ang ang query friendly na mga filter nakatagong patlang –>
<script type="text/javascript">
$(dokumento).nakahanda(tungkulin(){
$("#QueryFriendlyFilters").Val("empty");
});
</script>
</xsl:template>
Na bit emits ilang JavaScript na naghihintay para sa mga pahina upang tapusin ang loading (dahil sa $(dokumento).nakahanda(...)) at pagkatapos ay nagtatakda ng halaga ng isang nakatagong patlang pinangalanan QueryFriendlyFilters na ang literal na halaga na "walang laman".
Halimbawa 2: Gamitin <xsl:kung> check ang "mas higit", "Mas mababa", at iba pa.
<xsl:template match = "ng isang bagay,,en,script type = "text / javascript",,en,"#QueryFriendlyFilters",,en,"Walang laman",,en,div id = "fdcAllFilters",,en,kung test = "@ Count,,en,span class = "fdcFilterLabel",,en,para-sa-bawat pumili = "UserFilter",,en,isang class = "FilterHref,,en,href = "javascript,,en,'RemoveUserFilter',,en,sulit ng mga piling = "@ FilterValue" /,,en" xml:space="preserve">
<div id="fdcAllFilters">
<xsl:if test="@Count>0">
<span class="fdcFilterLabel">Kasalukuyang filter:</maikling panahon>
</xsl:kung>
<!– higit pang mga bagay-bagay ang mangyayari dito. –>
</xsl:template>
Ang itaas na snippet sumusuri upang makita kung ang isang katangian na pinangalanan na "Count" ng element na "bagay" ay mas mataas sa zero. Ang XML sa likod ng ito ay magiging isang bagay tulad ng:"
<bagay Count = "5" />
Halimbawa 3: Umulit sa pamamagitan ng lahat ng mga elemento, interspersing tawag jQuery.
<!– Umulit sa pamamagitan ng lahat ng mga filter at ipakita ang tamang mga link. –>
<xsl:for-each select="UserFilter">
<a class="FilterHref" href="javascript:mySubmitPage(‘RemoveUserFilter’,'{@ ID}')">[X]</isang>
<span class="fdcFilterLabel"><xsl:value-of select="@FilterValue"/></maikling panahon>
<script type="text/javascript">
$(dokumento).nakahanda(tungkulin(){
<xsl:teksto><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></xsl:teksto>\"<xsl:value-of select="@FilterValue"/>\"<xsl:teksto><![CDATA["));]]></xsl:teksto>
});
</script>
</xsl:para sa-bawat>
Ang itaas na snippet ay ang pinaka masalimuot at maaaring may mas madaling paraan upang gawin ito.
Ang XML sa likod na ito ay mukhang halos tulad nito:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Snippet na ito ay iterating sa pamamagitan ng <UserFilter> nodes.
Unang ito emits isang anchor tag na kapag nag-click invokes ng isang function na JavaScript na nasa sa pahina, Sa "mySubmitPage" at magbabalik ang halaga ng isang attribute sa <UserFilter> node na pinangalanang "ID".
Pagkatapos ito emits ilang jQuery na naghihintay para sa pahina upang i-load. Na jQuery update ng isang nakatagong mga patlang na pinangalanang "QueryFriendlyFilters" sa pamamagitan ng pagdaragdag ng halaga ng FilterValue ang attribute. Tandaan ang lahat ng mga nakatutuwang <xsl:teksto> at <![CDATA[ ... ]]> mga bagay.
Iyan na ang lahat, Umaasa ito ay tumutulong sa!
</dulo>
Mag-subscribe sa aking blog.
Sundin ako sa Twitter sa http://www.twitter.com/pagalvin