我做了很多的 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
可以使用这种方法来筛选在 SharePoint 通过 XSLT 中的多个列表 web 部件吗?
你好, 抱歉,我从来没有响应. 它是古代在这一点,所以我不会试着. 我希望你找到了你想做什么 :).