אני עשו המון XSLT jQuery והמחשבה שניתן לשתף מקטעי כמה אחרים ייתכן שיהיו שימושיות עבורך בעתיד.
דוגמה 1: לפלוט JavaScript פשוט / jQuery ב- XSLT:
<xsl:התאמת תבנית = "משהו" xml:שטח = "לשמר">
<!– ריק החוצה השדה המוסתר של מסננים ידידותי שאילתה –>
<סקריפט סוג = "טקסט/javascript">
$(המסמך).מוכן(פונקציה(){
$("#QueryFriendlyFilters").ול("ריק");
});
</קובץ script></xsl:תבנית>
מעט מקרינה JavaScript תמתין הטעינה של הדף (בגלל $(המסמך).מוכן(…)) ולאחר מכן ערכות הערך של שדה מוסתר בשם QueryFriendlyFilters הערך הליטרלי "ריק".
דוגמה 2: השימוש <xsl:אם> כדי לבדוק "גדול מ", "פחות", ועוד.
<xsl:התאמת תבנית = "משהו" xml:שטח = "לשמר">
<div id = "fdcAllFilters">
<xsl:אם test="@Count>0">
<span class = "fdcFilterLabel">המסננים הנוכחיים:</טווח>
</xsl:אם><!– חומר נוסף קורה כאן. –>
</xsl:תבנית>
גזיר לעיל יבדוק אם תכונה בשם "לספור" יסוד "משהו" גדול מאפס. ה-XML מאחורי זה יהיה משהו כמו:”
<משהו Count = "5" />
דוגמה 3: סוב בין כל הרכיבים, interspersing שיחות jQuery.
<!– סוב בין כל המסננים ולהציג הנכון קישורים. –>
<xsl:עבור-כל בחירה = "UserFilter"><מחלקה = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</של>
<span class = "fdcFilterLabel"><xsl:הערך של select="@FilterValue"/></טווח>
<סקריפט סוג = "טקסט/javascript">$(המסמך).מוכן(פונקציה(){
<xsl:טקסט><![CDATA[$("#QueryFriendlyFilters").ול( ($("#QueryFriendlyFilters").ול() + " ]]></xsl:טקסט>\"<xsl:הערך של select="@FilterValue"/>\"<xsl:טקסט><![CDATA["));]]></xsl:טקסט>
});</קובץ script>
</xsl:עבור-כל>
גזיר לעיל הוא מורכב ביותר, ייתכן שקיימות דרכים קל יותר לעשות זאת.
ה-XML מאחורי זה נראה בערך כך:
<UserFilter ID = FilterValue "123" = "xyzzy" />
מקטע זה איטראציה עד <UserFilter> צמתים.
הוא מפיק תחילה עוגן תיוג אשר בעת לחיצה על הפעלת פונקציה JavaScript כבר בדף, "mySubmitPage" ומעביר את הערך של תכונה ב- <UserFilter> צומת בשם "מזהה".
לאחר מכן, הוא מפיק מסוימים jQuery אשר ממתין לטעינת העמוד. כי jQuery מעדכנת שדה מוסתר בשם "QueryFriendlyFilters" על-ידי הוספת הערך של תכונת FilterValue. הערה כל מטורף <xsl:טקסט> ו <![CDATA[ … ]]> דברים.
זהו זה, התקווה שהיא מסייעת!
</קצה>
עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin