Я раблю шмат з XSLT і JQuery і думаў, што я падзялю некалькі фрагментаў, што, могуць апынуцца карыснымі ў будучыні.
Прыклад 1: Emit простыя JavaScript / JQuery ў XSLT:
<XSL:template match="something" XML:space="preserve">
<!– Свабодны выхад запыту дружалюбны фільтры схаванае поле –>
<Сцэнар тып = "тэкст / JavaScript">
$(дакумент).гатовы(функцыя(){
$("#QueryFriendlyFilters").Вал("empty");
});
</сцэнар></XSL:шаблон>
Гэта крыху выпраменьвае некаторы JavaScript, што чакае старонку для завяршэння загрузкі (з-за $(дакумент).гатовы(...)) , А затым ўсталёўвае значэнне схаванага поля з імем QueryFriendlyFilters літаральнага значэння "пустая".
Прыклад 2: Выкарыстоўваць <XSL:калі> праверыць "больш чым", «Менш», і г.д..
<XSL:template match="something" XML:space="preserve">
<div id="fdcAllFilters">
<XSL:if test="@Count>0">
<span class="fdcFilterLabel">Бягучыя фільтры:</пралёт>
</XSL:калі><!– больш матэрыялу тут адбываецца. –>
</XSL:шаблон>
Прыведзены вышэй фрагмент правярае, ці ёсць атрыбут "Колькасць" "нешта" элемент больш за нуль. XML за гэтым будзе нешта накшталт:"
<нешта Count = "5" />
Прыклад 3: Перабору ўсіх элементаў, перамяжоўваючы JQuery званкі.
<!– Ітэрацыя праз усе фільтры і адлюстроўваць правільную сувязі. –>
<XSL:for-each select="UserFilter"><a class="FilterHref" href="javascript:mySubmitPage(‘RemoveUserFilter’,"{@ID}')">[X]</a>
<span class="fdcFilterLabel"><XSL:value-of select="@FilterValue"/></пралёт>
<Сцэнар тып = "тэкст / JavaScript">$(дакумент).гатовы(функцыя(){
<XSL:тэкст><![CDATA[$("#QueryFriendlyFilters").Вал( ($("#QueryFriendlyFilters").Вал() + " ]]></XSL:тэкст>\"<XSL:value-of select="@FilterValue"/>\"<XSL:тэкст><![CDATA["));]]></XSL:тэкст>
});</сцэнар>
</XSL:для кожнага,>
Прыведзены вышэй фрагмент з'яўляецца самым складаным і можа быць больш просты спосаб зрабіць гэта.
XML за гэта выглядае прыкладна так:
<UserFilter ID = "123" FilterValue = "XYZZY" />
Гэты сниппет ітэрацыі <Фільтр карыстальнікаў> вузлоў.
Гэта першы выпраменьвае тэга прывязкі, пры націску выклікаецца функцыя JavaScript, якая ўжо на старонцы, "MySubmitPage» і перадае значэнне атрыбуту <Фільтр карыстальнікаў> вузел з імем "ID".
Затым ён пускае некаторыя JQuery што чакае загрузкі старонкі. Гэта JQUERY абнаўлення схаванае поле пад назвай "QueryFriendlyFilters" шляхам дадання значэнні FilterValue атрыбуту. Звярніце ўвагу, усе вар'яты <XSL:тэкст> і <![CDATA[ ... ]]> матэрыял.
Вось менавіта, спадзяюся, гэта дапаможа!
</канец>
Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin
Can I use this approach to filter multiple list webparts in SharePoint via a XSLT?
Прывітанне, шкада, што я не адказаў на гэта. It’s ancient at this point and so I won’t try. I hope you figured out what you were trying to do :).