I działalność dużo XSLT i jQuery i myśli, że udział miałyby kilka Urywki, które inni mogą być przydatne w przyszłości.
Przykład 1: Emituje proste JavaScript / jQuery w XSLT:
<XSL:szablon dopasowanie = "coś" XML:przestrzeń = "zachowanie">
<!– Puste określone pole ukryte filtry przyjazne kwerendy –>
<skrypt typu = "text/javascript">
$(dokument).gotowe(Funkcja(){
$("#QueryFriendlyFilters").Val("puste");
});
</skrypt></XSL:szablon>
Ten bit emituje niektóre JavaScript, który czeka na stronie do zakończenia załadunku (z powodu $(dokument).gotowe(…)) i następnie ustawia wartość pola ukrytego nazwane QueryFriendlyFilters na wartość literału "pusty".
Przykład 2: Wykorzystanie <XSL:Jeśli> Aby sprawdzić "większe niż", "mniejszy niż", itp.
<XSL:szablon dopasowanie = "coś" XML:przestrzeń = "zachowanie">
<DIV id = "fdcAllFilters">
<XSL:Jeśli test="@Count>0">
<zakres klasy = "fdcFilterLabel">Bieżące filtry:</zakres>
</XSL:Jeśli><!– więcej rzeczy dzieje się tutaj. –>
</XSL:szablon>
Powyższego urywka sprawdza, czy atrybut o nazwie "Count" elementu „coś"jest większa od zera. XML tego byłoby podobne:”
<coś Count = "5" />
Przykład 3: Iterację wszystkich elementów, przeplatać jQuery wywołań.
<!– Iterację wszystkich filtrów i wyświetlić prawidłowe łącza. –>
<XSL:dla każdej = wybierz "UserFilter"><Klasa = "FilterHref" href = "javascript:mySubmitPage("RemoveUserFilter",'{@ ID}’)">[X]</a>
<zakres klasy = "fdcFilterLabel"><XSL:wartość z select="@FilterValue"/></zakres>
<skrypt typu = "text/javascript">$(dokument).gotowe(Funkcja(){
<XSL:tekst><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:tekst>\"<XSL:wartość z select="@FilterValue"/>\"<XSL:tekst><![CDATA["));]]></XSL:tekst>
});</skrypt>
</XSL:dla każdego>
Powyższe urywek jest najbardziej złożonych i może być łatwiejsze sposoby to zrobić.
XML za to wygląda mniej więcej tak:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Poniższy urywek kodu jest iteracja <UserFilter> węzły.
Pierwsza emituje kotwicy znacznika, który po kliknięciu wywołuje funkcję JavaScript, który już znajduje się na stronie, "mySubmitPage" i przekazuje wartość atrybutu na <UserFilter> węzeł o nazwie "ID".
Następnie emituje niektóre jQuery, że czeka na stronę, aby załadować. Że jQuery aktualizacje ukryte pole o nazwie "QueryFriendlyFilters" przez dodanie wartości atrybutu FilterValue. Uwaga Wszystkie crazy <XSL:tekst> i <![CDATA[ … ]]> Stuff.
To wszystko, Mamy nadzieję, że pomaga!
</koniec>
Follow me on Twitter wiek na http://www.twitter.com/pagalvin
Można użyć tej metody do filtrowania wielu listy webparts SharePoint za pomocą XSLT?
Cześć, Przepraszam, ja nigdy nie odpowiedział na to. To w tym momencie starożytnych i tak nie będę próbować. Mam nadzieję, że zorientowali się, co próbowano zrobić :).