Έχω κάνει πολλή XSLT και jQuery και σκέφτηκα ότι θα μοιραστώ ορισμένα αποσπάσματα που άλλοι μπορεί να φανούν χρήσιμες στο μέλλον.
Παράδειγμα 1: Εκπέμπουν απλό JavaScript / jQuery σε XSLT:
<XSL:πρότυπο αγώνα = "κάτι" XML:χώρος = «διατηρήσουν»>
<!– Κενό έξω το ερώτημα φιλικό να φιλτράρει κρυφό πεδίο –>
<σενάριο τύπο = "text/javascript">
$(έγγραφο).έτοιμο(συνάρτηση(){
$("#QueryFriendlyFilters").Val(«κενό»);
});
</σενάριο>
</XSL:πρότυπο>
Εκείνο το κομμάτι εκπέμπει τα κάποια JavaScript που περιμένει τη σελίδα για να τελειώσει τη φόρτωση (λόγω της την $(έγγραφο).έτοιμο(…)) και στη συνέχεια σύνολα η τιμή του ένα κρυφό πεδίο που ονομάζεται QueryFriendlyFilters να η τιμή literal "Αδειασμα".
Παράδειγμα 2: Χρήση <XSL:Αν> να ελέγξετε "μεγαλύτερο από", "λιγότερο από", κλπ.
<XSL:πρότυπο αγώνα = "κάτι" XML:χώρος = «διατηρήσουν»>
<div id = "fdcAllFilters">
<XSL:Αν test="@Count>0">
<span class = "fdcFilterLabel">Τρέχοντα φίλτρα:</span>
</XSL:Αν>
<!– περισσότερα πράγματα που συμβαίνουν εδώ. –>
</XSL:πρότυπο>
Το παραπάνω απόσπασμα ελέγχει αν ένα χαρακτηριστικό που ονομάζεται "Μετράνε" του στοιχείου "κάτι" είναι μεγαλύτερη του μηδενός. Το XML πίσω από αυτό θα ήταν κάτι σαν:”
<κάτι Count = "5" />
Παράδειγμα 3: Επαναλαμβάνεται σε όλα τα στοιχεία, Interspersing jQuery κλήσεις.
<!– Επαναλαμβάνεται σε όλα τα φίλτρα και να εμφανίζει τη σωστή συνδέσεις. –>
<XSL:για κάθε επιλογή = "UserFilter">
<μια κατηγορία = "FilterHref" href = "javascript:mySubmitPage(«RemoveUserFilter»,'{@ID}’)">[X]</ένα>
<span class = "fdcFilterLabel"><XSL:αξία του select="@FilterValue"/></span>
<σενάριο τύπο = "text/javascript">
$(έγγραφο).έτοιμο(συνάρτηση(){
<XSL:κείμενο><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:κείμενο>\"<XSL:αξία του select="@FilterValue"/>\"<XSL:κείμενο><![CDATA["));]]></XSL:κείμενο>
});
</σενάριο>
</XSL:για-κάθε>
Το παραπάνω απόσπασμα είναι το πιο περίπλοκο και μπορεί να υπάρξει ευκολότερους τρόπους για να το κάνουμε.
Το XML πίσω από αυτό μοιάζει περίπου με αυτό:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Αυτό το απόσπασμα διαδοχικές προσεγγίσεις μέσα σε <UserFilter> κόμβους.
Πρώτα εκπέμπει μια άγκυρα ετικέτα που όταν πατηθεί εκτελεί μια λειτουργία JavaScript που είναι ήδη στη σελίδα, "mySubmitPage" και μεταβιβάζει την τιμή ενός χαρακτηριστικού το <UserFilter> κόμβος που ονομάζεται "Αναγνωριστικό".
Στη συνέχεια, εκπέμπει κάποια jQuery που περιμένει την σελίδα να φορτώσει. JQuery ότι ενημερώνει ένα κρυφό πεδίο που ονομάζεται "QueryFriendlyFilters" προσθέτοντας την τιμή του χαρακτηριστικού FilterValue. Σημείωση όλα την τρελή <XSL:κείμενο> και <![CDATA[ … ]]> πράγματα.
Αυτό είναι, ελπίδα αυτό βοηθά!
</Τέλος>
Εγγραφείτε στο blog μου.
Συνέχεια μου για Twitter σε http://www.twitter.com/pagalvin