我做了很多的 XSLT 和 jQuery 和思想會分享他人在將來可能會發現有用的幾個片段.
示例 1: 發出簡單 JavaScript / 在 XSLT jQuery:
<xsl:範本匹配 ="的東西" xml:空間 ="維護">
<!– 出查詢友好篩選器隱藏欄位保留為空 –>
<腳本類型 ="文本/javascript">
$(文檔).準備好了(功能(){
$(""#QueryFriendlyFilters).瓦爾("空");
});
</腳本></xsl:範本>
這位會發出一些等待完成載入頁面的 JavaScript (由於 $(文檔).準備好了(…)) 和則集命名隱藏的欄位的值為 QueryFriendlyFilters,"空"的文本值.
示例 2: 使用 <xsl:如果> 要檢查"大於", "小於", 等.
<xsl:範本匹配 ="的東西" xml:空間 ="維護">
<div id ="fdcAllFilters">
<xsl:如果 test="@Count>0">
<跨類 ="fdcFilterLabel">當前的篩選器:</大跨度>
</xsl:如果><!– 在這裡發生了更多的東西. –>
</xsl:範本>
在上面的程式碼片段檢查名為"計數"的"東西"元素的屬性是否大於零。 這背後的 XML 就像:”
<東西計數 ="5"/>
示例 3: 迴圈訪問所有元素, 排布 jQuery 的調用.
<!– 遍歷的所有篩選器,並顯示正確 連結. –>
<xsl:為每個選擇 ="UserFilter"><一類 ="FilterHref" href ="javascript:mySubmitPage('' RemoveUserFilter,'{@ ID}’)">[X]</一>
<跨類 ="fdcFilterLabel"><xsl:值的 select="@FilterValue"/></大跨度>
<腳本類型 ="文本/javascript">$(文檔).準備好了(功能(){
<xsl:文本><![CDATA[$(""#QueryFriendlyFilters).瓦爾( ($(""#QueryFriendlyFilters).瓦爾() + " ]]></xsl:文本>\"<xsl:值的 select="@FilterValue"/>\"<xsl:文本><![CDATA["));]]></xsl:文本>
});</腳本>
</xsl:為每個>
上面的程式碼片段是最複雜的可能還有更容易的方法做這件事.
這背後的 XML 大致如下:
<UserFilter ID ="123"FilterValue ="xyzzy"/>
此程式碼片段迴圈訪問 <UserFilter> 節點。
它首先發出錨標籤,按一下時調用已經在頁面上的 JavaScript 函數, "mySubmitPage",並傳遞的屬性的值 <UserFilter> 名為"ID"的節點。
然後,它會發出一些等待載入頁面的 jQuery。 那 jQuery 更新隱藏的欄位命名為"QueryFriendlyFilters"中添加 FilterValue 屬性的值。 請注意所有瘋狂 <xsl:文本> 和 <![CDATA[ … ]]> 東西.
就是這樣, 希望它可以説明!
</結束>
跟我在 Twitter 上 http://www.twitter.com/pagalvin