Аз са били правиш много XSLT и jQuery и мисленето, аз ще сподели няколко откъси, които други може да намерите за полезни в бъдеще.
Пример 1: Излъчват прости JavaScript / jQuery в XSLT:
<XSL:шаблон за съвпадение = "нещо" XML:космически = "запазите">
<!– "Празно" е приятелски заявката филтрира скрито поле –>
<скриптови тип = "текст/javascript">
$(документ).готов(функция(){
$("#QueryFriendlyFilters").вал("празно");
});
</скрипт></XSL:шаблон>
Този бит излъчва някои JavaScript, която изчаква на страницата, за да завърши зареждането (поради $(документ).готов(…)) и след това определя стойността на скрито поле QueryFriendlyFilters на литерален стойност "празно".
Пример 2: Употреба <XSL:Ако> за да проверите "по-голямо от", "по-малко от", н.
<XSL:шаблон за съвпадение = "нещо" XML:космически = "запазите">
<DIV ИД = "fdcAllFilters">
<XSL:Ако test="@Count>0">
<еталониране на клас = "fdcFilterLabel">Текущ филтри:</еталониране>
</XSL:Ако><!– повече неща се случва тук. –>
</XSL:шаблон>
Горните парченце проверява дали атрибут с име "Преброяване" на "нещо" на елемент е по-голямо от нула. XML зад това би било нещо подобно:”
<нещо брой = "5" />
Пример 3: Обхождане на всички елементи, interspersing jQuery повиквания.
<!– Обхождане на всички филтри и да покаже правилното връзки. –>
<XSL:за всеки избор = "UserFilter"><клас = "FilterHref" href = "javascript:mySubmitPage("RemoveUserFilter",'{@ ИД}’)">[X]</а>
<еталониране на клас = "fdcFilterLabel"><XSL:стойността на select="@FilterValue"/></еталониране>
<скриптови тип = "текст/javascript">$(документ).готов(функция(){
<XSL:текст><![НЕЗАТВОРЕН[$("#QueryFriendlyFilters").вал( ($("#QueryFriendlyFilters").вал() + " ]]></XSL:текст>\"<XSL:стойността на select="@FilterValue"/>\"<XSL:текст><![НЕЗАТВОРЕН["));]]></XSL:текст>
});</скрипт>
</XSL:за всеки>
Горните фрагмент е и най-сложните и може да има по-лесни начина да го направите.
XML зад това изглежда приблизително по следния начин:
<UserFilter ИД = "123" FilterValue = "xyzzy" />
Това парченце е iterating чрез <UserFilter> възли.
Тя първо да излъчва котва, етикет, когато се натисне предизвика на JavaScript функция, която вече е на страницата, "mySubmitPage" и минава на стойността на даден атрибут на <UserFilter> възел, наречена "ИД".
След това тя да излъчва някои jQuery, която изчаква на страницата, за да се зареди. Този jQuery актуализира скрито поле с име "QueryFriendlyFilters" чрез добавяне на стойността на атрибута FilterValue. Забележка всички луди <XSL:текст> и <![НЕЗАТВОРЕН[ … ]]> неща.
Това е, надежда, той помага!
</край>
Следвайте ме на Twitter в http://www.twitter.com/pagalvin