Tôi đã làm rất nhiều của XSLT và jQuery và nghĩ rằng tôi muốn chia sẻ một vài đoạn mà những người khác có thể tìm thấy hữu ích trong tương lai.
Ví dụ 1: Phát ra đơn giản JavaScript / jQuery trong XSLT:
<XSL:trận đấu tiêu bản = "cái gì" XML:vũ trụ = "bảo vệ">
<!– Trống trong lĩnh vực này ẩn truy vấn thân thiện bộ lọc –>
<kiểu kịch bản = "text/javascript">
$(tài liệu).sẵn sàng(chức năng(){
$("#QueryFriendlyFilters").Val("rỗng");
});
</kịch bản></XSL:tiêu bản>
Mà bit phát ra một số JavaScript mà chờ đợi cho trang để hoàn tất tải (vì các $(tài liệu).sẵn sàng(…)) và sau đó bộ giá trị của một lĩnh vực ẩn tên QueryFriendlyFilters với giá trị chữ "rỗng".
Ví dụ 2: Sử dụng <XSL:Nếu> để kiểm tra "lớn hơn", "ít hơn", vv.
<XSL:trận đấu tiêu bản = "cái gì" XML:vũ trụ = "bảo vệ">
<div id = "fdcAllFilters">
<XSL:Nếu test="@Count>0">
<div class = "fdcFilterLabel">Hiện tại bộ lọc:</khoảng>
</XSL:Nếu><!– nhiều thứ xảy ra ở đây. –>
</XSL:tiêu bản>
Đoạn mã trên sẽ kiểm tra xem liệu một thuộc tính được đặt tên "Tin cậy" của nguyên tố "một cái gì đó" lớn hơn 0. XML sau này sẽ là một cái gì đó như:”
<một cái gì đó Count = "5" />
Ví dụ 3: Iterate qua tất cả các yếu tố, xen jQuery cuộc gọi.
<!– Iterate qua tất cả các bộ lọc và hiển thị đúng liên kết. –>
<XSL:cho mỗi chọn = "UserFilter"><một tầng lớp = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</một>
<div class = "fdcFilterLabel"><XSL:giá trị của select="@FilterValue"/></khoảng>
<kiểu kịch bản = "text/javascript">$(tài liệu).sẵn sàng(chức năng(){
<XSL:văn bản><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:văn bản>\"<XSL:giá trị của select="@FilterValue"/>\"<XSL:văn bản><![CDATA["));]]></XSL:văn bản>
});</kịch bản>
</XSL:cho mỗi>
Đoạn mã trên là phức tạp nhất và có thể có cách dễ dàng hơn để làm điều đó.
XML sau này trông gần như thế này:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Đoạn này iterating thông qua <UserFilter> các nút.
Nó lần đầu tiên phát ra một neo từ khóa đó khi nhấp invokes hàm JavaScript là đã có trên trang, "mySubmitPage" và đã vượt qua giá trị của một thuộc tính trên các <UserFilter> nút đặt tên "ID".
Nó sau đó phát ra một số jQuery mà chờ đợi cho trang để tải. JQuery đó Cập Nhật một lĩnh vực ẩn tên là "QueryFriendlyFilters" bằng cách thêm giá trị của thuộc tính FilterValue. Lưu ý tất cả các điên <XSL:văn bản> và <![CDATA[ … ]]> công cụ.
Đó là nó, hy vọng nó sẽ giúp!
</kết thúc>
Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin