XSLT และ jQuery Samples

ฉันได้รับทำมาก XSLT jQuery และความคิดที่ฉันจะแบ่งปันส่วนย่อยของโค้ดบางอย่างที่ผู้อื่นอาจพบว่ามีประโยชน์ในอนาคต.

ตัวอย่าง 1: คายวิ JavaScript / jQuery ใน XSLT:

<xsl:แม่แบบตรง = "สิ่ง" xml:เนื้อที่ = "รักษา">

  <!– ว่างออกจากแบบสอบถามเป็นมิตรกรองเขตข้อมูลที่ซ่อนอยู่ –>
  <สคริปต์ชนิด = "ข้อ ความ/javascript">
    $(เอกสาร).พร้อม(ฟังก์ชัน(){
      $("#QueryFriendlyFilters").val("ว่างเปล่า");
    });
  </สคริปต์>

</xsl:แม่แบบ>

บิตที่ emits JavaScript บางที่รอหน้าเพื่อเสร็จสิ้นการโหลด (เนื่องจากการ $(เอกสาร).พร้อม(…)) แล้ว ชุดค่าของเขตข้อมูลที่ซ่อนอยู่ชื่อว่า QueryFriendlyFilters ค่าสัญพจน์ "ว่างเปล่า".

ตัวอย่าง 2: ใช้ <xsl:ถ้า> การตรวจสอบ "มากกว่า",  "น้อยกว่า", ฯลฯ.

<xsl:แม่แบบตรง = "สิ่ง" xml:เนื้อที่ = "รักษา">

  <div id = "fdcAllFilters">
 
    <xsl:ถ้า test="@Count>0">
      <ขยายคลาส = "fdcFilterLabel">ตัวกรองปัจจุบัน:</ขยาย>
    </xsl:ถ้า>

    <!– สิ่งที่เพิ่มเติมเกิดขึ้นที่นี่. –>

</xsl:แม่แบบ>

คำสั่งย่อยด้านบนตรวจสอบเพื่อดูว่าแอตทริบิวต์ที่มีชื่อว่า "นับ" ขององค์ประกอบ "สิ่ง" มากกว่าศูนย์  XML เบื้องหลังนี้จะเป็นสิ่งที่ต้องการ:”

<สิ่ง Count = "5" />

ตัวอย่าง 3: ทำซ้ำผ่านองค์ประกอบทั้งหมด, interspersing jQuery สาย.

<!– ทำซ้ำผ่านตัวกรองทั้งหมด และแสดงถูกต้อง  การเชื่อมโยง. –>
<xsl:แต่สำหรับละเลือก = "UserFilter">

  <คลาสที่ = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</การ>

  <ขยายคลาส = "fdcFilterLabel"><xsl:ค่าของ select="@FilterValue"/></ขยาย>

  <สคริปต์ชนิด = "ข้อ ความ/javascript">

    $(เอกสาร).พร้อม(ฟังก์ชัน(){
        <xsl:ข้อความ><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></xsl:ข้อความ>\"<xsl:ค่าของ select="@FilterValue"/>\"<xsl:ข้อความ><![CDATA["));]]></xsl:ข้อความ>
    });

  </สคริปต์>

</xsl:แต่สำหรับละ>

ส่วนย่อยด้านบนสุดซับซ้อน และอาจมีวิธีทำได้ง่ายขึ้น.

XML เบื้องหลังนี้มีลักษณะประมาณดังนี้:

<UserFilter ID = "123" FilterValue = "xyzzy" />

คำสั่งย่อยนี้จะวนผ่าน <UserFilter> โหนด 

Emits จุดยึดก่อนแท็กที่เมื่อคลิกแล้ว JavaScript ฟังก์ชันที่มีอยู่แล้วในหน้าการเรียกใช้เมธ, "mySubmitPage" และการส่งผ่านค่าของแอตทริบิวต์ในการ <UserFilter> โหนดที่ชื่อว่า "ID" 

มัน emits jQuery บางที่รอหน้าเพื่อโหลดแล้ว  JQuery ที่ปรับปรุงเขตข้อมูลที่ซ่อนชื่อ "QueryFriendlyFilters" โดยการเพิ่มค่าของแอตทริบิวต์ FilterValue  หมายเหตุเมาทั้งหมด <xsl:ข้อความ> และ <![CDATA[ … ]]> สิ่งที่.

แค่นี้, หวังว่า จะช่วย!

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

2 คิดเกี่ยวกับ“XSLT และ jQuery Samples

ทิ้งคำตอบไว้

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่. ช่องที่ต้องการถูกทำเครื่องหมาย *