Saya telah melakukan banyak XSLT, jQuery, dan pikir saya akan berbagi beberapa potongan yang orang lain mungkin menemukan berguna di masa depan.
Contoh 1: Memancarkan JavaScript sederhana / jQuery dalam XSLT:
<Extensible Stylesheet Language:template pertandingan = "sesuatu" XML:ruang = "melestarikan">
<!– Kosong keluar bidang tersembunyi ramah filter permintaan –>
<script type = "text/javascript">
$(dokumen).siap(fungsi(){
$("#QueryFriendlyFilters").Val("kosong");
});
</script></Extensible Stylesheet Language:template>
Sedikit memancarkan beberapa JavaScript yang menunggu untuk halaman untuk menyelesaikan pemuatan (karena $(dokumen).siap(…)) dan kemudian set nilai bidang tersembunyi bernama QueryFriendlyFilters nilai literal "kosong".
Contoh 2: Penggunaan <Extensible Stylesheet Language:Jika> untuk memeriksa "lebih besar", "kurang", dll.
<Extensible Stylesheet Language:template pertandingan = "sesuatu" XML:ruang = "melestarikan">
<DIV id = "fdcAllFilters">
<Extensible Stylesheet Language:Jika test="@Count>0">
<span class = "fdcFilterLabel">Current filter:</rentang>
</Extensible Stylesheet Language:Jika><!– lebih banyak barang yang terjadi di sini. –>
</Extensible Stylesheet Language:template>
Potongan di atas memeriksa untuk melihat apakah atribut yang bernama "Count" dari "sesuatu" elemen yang lebih besar dari nol. XML di balik ini akan menjadi sesuatu seperti:”
<sesuatu Count = "5" />
Contoh 3: Iterate melalui semua elemen, interspersing jQuery panggilan.
<!– Iterate melalui semua filter dan menampilkan yang benar link. –>
<Extensible Stylesheet Language:untuk setiap = pilih "UserFilter"><kelas = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</a>
<span class = "fdcFilterLabel"><Extensible Stylesheet Language:nilai dari select="@FilterValue"/></rentang>
<script type = "text/javascript">$(dokumen).siap(fungsi(){
<Extensible Stylesheet Language:teks><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></Extensible Stylesheet Language:teks>\"<Extensible Stylesheet Language:nilai dari select="@FilterValue"/>\"<Extensible Stylesheet Language:teks><![CDATA["));]]></Extensible Stylesheet Language:teks>
});</script>
</Extensible Stylesheet Language:untuk setiap>
Potongan di atas adalah yang paling kompleks dan mungkin ada cara mudah untuk melakukannya.
XML di balik ini terlihat kira-kira seperti ini:
<UserFilter ID = "123" FilterValue = "xyzzy" />
Potongan ini iterasi melalui <UserFilter> node.
Pertama memancarkan jangkar tag yang ketika diklik memanggil fungsi JavaScript yang sudah pada halaman, "mySubmitPage" dan melewati nilai atribut <UserFilter> simpul yang bernama "ID".
Itu kemudian memancarkan beberapa jQuery yang menunggu untuk halaman untuk memuat. JQuery update bidang tersembunyi yang bernama "QueryFriendlyFilters" dengan menambahkan nilai atribut FilterValue. Catatan semua gila <Extensible Stylesheet Language:teks> dan <![CDATA[ … ]]> barang.
That's it, hope it helps!
</akhir>
Ikuti saya di kegugupan di http://www.twitter.com/pagalvin