Tag Archives: jQuery

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

Lists.asmx, GetListItems และโฟลเดอร์

ฉันได้ทำงานวิจัยบางบุคคลวันนี้รอบบริการเว็บ list.asmx ให้เป็นส่วนหนึ่งของ SharePoint 2010 (และรุ่นก่อนหน้า).  เธอได้รับในรายการที่โฟลเดอร์ราก (รวมทั้งชื่อของ sub-folders), แต่ไม่ได้รับสินค้าใน sub-folders  ไม่บางอย่างรอบคอบในการ internets และคำถามทั่วไปอย่างแปลกใจ  ยัง, ฉันไม่สามารถได้รับคำตอบสำหรับคำถามที่วิดี, "ถ้ารู้ว่าโฟลเดอร์, ฉันรับสินค้าในโฟลเดอร์?”  จะซื่อสัตย์, ไม่ได้พยายามทั้งหมดที่หนักเนื่องจากผมได้ต้องการรูปหนึ่งนี้ออกด้วยตัวเองสำหรับในขณะ ยิ้ม.

การตั้งค่านี้, ไซต์มีชื่อว่า "สถานการณ์ของบล็อก" และรายการแบบกำหนดเองที่ชื่อว่า "กำหนดเองรายการกับโฟลเดอร์ย่อย" สร้าง  สร้างโฟลเดอร์ชื่อแล้ว:

  • ปี 2005
  • ปี 2006
  • ปี 2007

เพิ่มเพียงไม่กี่รายการไปที่โฟลเดอร์ "ปี 2549"  นี่คือสิ่งที่มีลักษณะเหมือน:

image

เพื่อนของฉันไม่ได้เขียน C# โค้ด แต่แทนที่จะ ใช้ Java, ดังนั้น ละครซองจดหมายถูกอะไรเธอจริง ๆ ต้อง  รับที่, ฉันเขียนบิตของ jQuery และใช้ fiddler รับสนทนา HTTP ที่แท้จริงแล้ว.

นี่คือ jQuery เกี่ยวข้อง (คัดลอกรหัสลงด้านล่างหากคุณต้องการคัดลอก/วาง):

image

พวกเขาแรกคีย์คือการ รวมทั้งสองแบบ <queryOptions> และ <QueryOptions> โหนด  ปุ่มที่สองคือที่ <โฟลเดอร์> โหนดคือ URL ที่ไคลเอ็นต์เข้า.

อาจจะมีวิธีอื่น ๆ ที่ได้รับนี้, แต่นี้ทำงานได้ดีสำหรับฉันเมื่อใช้ jQuery.

นี่คือละครซองจดหมายสำหรับด้านบน:

<soapenv:Xmlns ซองจดหมาย:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:เนื้อความ>
    <GetListItems xmlns =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>รายการที่กำหนดเองกับโฟลเดอร์ย่อย</listName>
      <viewFields>  
        <ViewFields>
          <ชื่อ FieldRef =' ชื่อเรื่อง’ />
          <ชื่อ FieldRef ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <โฟลเดอร์>
http://demoserver1/บล็อก รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:เนื้อความ>
</soapenv:ซองจดหมาย>

ตัวอย่างและการอภิปรายรอบนี้มากมายทำให้ฉันเชื่อว่า ทั้งหมดที่ต้องแก้ไข <QueryOptions> และระบุชื่อโฟลเดอร์  สำหรับฉัน, ฉันต้องการทั้งสองตัดนั้นภายใน <queryOptions> ตลอดจนระบุ URL ที่ครบถ้วนสำหรับการ <โฟลเดอร์> โหนด.

นี่คือการตั้งค่าของ jQuery AJAX:

$(เอกสาร).พร้อม(ฟังก์ชัน() {
       var soapEnv =
           "<soapenv:Xmlns ซองจดหมาย:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:เนื้อความ> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>รายการที่กำหนดเองกับโฟลเดอร์ย่อย</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <ชื่อ FieldRef =' ชื่อเรื่อง’ /> \
                              <ชื่อ FieldRef ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <โฟลเดอร์>http://demoserver1/Blogging รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:เนื้อความ> \
           </soapenv:ซองจดหมาย>";

</สิ้นสุด>

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

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

ซ้อนกันไม่รู้จบ <div> แท็กและ jQuery

นี้ดูเหมือนว่าหัวข้อ oddball การดังกล่าว, ผมไม่แน่ใจว่าเป็นจริงคุ้มค่าบล็อกเกี่ยวกับ, แต่ที่ไม่เคยหยุดฉันก่อน, ดังนั้นที่นี่เราไป ยิ้ม

ฉันกำลังหาโครงการที่ผมกำลังดึงข้อมูลบางอย่างจากการค้นหา, ในที่สุดเปลี่ยนการบรรจุค่าเป็นข้อความ XML และ XML ที่เป็น HTML ผ่าน XSLT  มีจำนวนมากของ jQuery ที่เกี่ยวข้อง, หนึ่งบิตที่ใช้งาน tabbing  เมื่อคุณคลิกบนแท็บ (จริง ๆ, การ <div>), .hide เรียกใช้ jQuery() และ.show() บนว่า divs ต่าง ๆ (โหลดหน้าแรกดาวน์โหลดเนื้อหาทั้งหมดดังนั้นในกรณีนี้มี postbacks ไม่).

พวงของชั่วโมงที่ผ่านมา, แท็บสลับตรรกะเริ่มประพฤติผิด และมันจะไม่แสดงหนึ่งแท็บของฉัน  ในที่สุดติดตามมันลงจริงที่เทอร์ (น้อย) ความคิดที่จะ <div> แท็กซ้อนไกล, ไกลลึกกว่า intendedต้องแสดงแถบเครื่องมือนักพัฒนา:

-<รหัส div = "Tab1Content">
  -<div>
    -<div>
      -<รหัส div = "Tab2Content">
        -<div>
           …………………………
                   </div>  <ตัวสุดท้าย แสดงปิดทางลงที่นี่!

ดังนั้น, ถ้าฉันไม่มี $("#Tab1Content").ซ่อน(), ฉันจะซ่อน Tab2 และฉันอาจไม่เคยแสดง Tab2 ถ้าฉันไม่แสดง Tab1  ผมคัดลอก และวางรหัสค่าสตูดิโอภาพและเห็นซับของ div ค่าทั้งหมดอย่างดี, เหมือนพวกเขาควรจะทำ, มองเช่นนี้:

-<รหัส div = "Tab1Content">
  +<div>
  +<div>
-<รหัส div = "Tab2Content">
  +<div>
  +<div>

ฉันตีศีรษะกำแพงในขณะ และสังเกตเห็นว่า ใน HTML จริง รหัสถูกสร้างมากเปล่า <div> แท็ก, เช่น:

<เนื้อความ>

  <รหัส div = "Tab1Content">

    <รหัส div = "row1" />
    <รหัส div = "row2" />

  </div>

  <รหัส div = "Tab2Content">

    <รหัส div = "row1" />
    <รหัส div = "row2" />

  </div>

</เนื้อความ>

(ด้านบนมี oversimplified waaaaaaaaaaaay  แท็ก div เปล่าถูกทั้งหมด. บางอย่างของฉัน <div> แท็กเต็มไปด้วยเนื้อหา, แต่ไม่มาก  ผมมารับรู้ที่ที่ของฉัน <xsl:แต่สำหรับละ> คำสั่งถูกเปล่งแบบสั้น div แท็กเมื่อ xsl:ไม่ได้แต่สำหรับละ ' การค้นหาข้อมูลใด ๆ  ฉันบังคับคิดเป็น HTML ในการแสดงผล, ดังที่แสดง:

image

 

หลังจากไม่ได้ที่, ทั้งหมดของ div ตั้งเรียงรายอย่างสวยงาม และสลับแท็บของฉันเริ่มทำงาน.

เป็นเสมอ, ฉันหวังว่า นี้ช่วยให้คนในเหน็บแนม.

</สิ้นสุด>

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

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

ยัง ได้เพิ่มเติม jQuery–ปรับขนาดของตัวอย่างรูปภาพ

ผมรับมา web part จากผู้ขายเดิมของลูกค้า และมีปัญหาขนาดภาพ  ภาพควรเป็น 60×50 แต่ด้วยเหตุผลบางอย่างแปลก, ผู้ขายเดิมบังคับให้เป็น 42×42, ให้ squashed:

 

รูปภาพที่ดี

ภาพไม่ดี

นี่คือมาร์กอัป (ค่อนข้างสมัยใหม่):

<ตารางเรียน = 'ขยายการ outlook'>
  <thead>
    <tr>
      <th  ความกว้าง ='100′>3 วันอังคาร</th>
    </tr>
  </thead>

  <tbody>
    <คลาส tr = 'การณ์'>
      <ความกว้างของ td ='100′>
        <ul>
          <คลาส li = 'สูง'>สูง: 72&องศาเซลเซียส;F</li>
          <คลาส li = 'ต่ำ'>ต่ำ: 44&องศาเซลเซียส;F</li>
          <คลาส li = 'เงื่อนไข'>ซันนี่
            <ใช้ได้ img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ ความกว้าง ='42’ ความสูง ='42’ alt =” />
          </li>
        </ul>
      </td>
    </tr>

  </tbody>

</ตาราง>

คุณจะสังเกตว่า แม้ใน เส้นทางรูปตัวเอง แสดงขนาดเหมาะสม (60×50) ผู้ขายเดิมบังคับใน 42×42.  ทำไม?  บ้า.

อย่างไรก็ตาม, ต้องการแก้ปัญหาที่ง่าย และรวดเร็วกับประเด็นนี้ และฉันหันไป jQuery  เคล็ดลับคือการ ค้นหาทั้งหมดของงาน <img> แท็ก  ไม่ได้อยาก muck เกี่ยวกับแท็กใช้ได้ img อื่น ๆ (ซึ่งมีเป็นจำนวนมาก).  บิตนี้ของ jQuery ได้หลอกลวง:

<สคริปต์ชนิด = "ข้อ ความ/javascript" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></สคริปต์>

<สคริปต์ชนิด = "ข้อ ความ/javascript">
     $(เอกสาร).พร้อม(ฟังก์ชัน () {

         $(' li.condition > ใช้ได้ img').แต่ละ(ฟังก์ชัน (ดัชนี, สินค้า)
           
{
             $(สินค้า).css("ความกว้าง", "60"); 
             $(สินค้า).css("ความสูง", "50");
            });
     }); // เมื่อโหลดเอกสาร
</สคริปต์>

บิตของรหัสที่ค้นหาคอลเลกชัน <li> แท็กคลาสซึ่งเป็น "เงื่อนไข" และ <img> เด็ก  จากนั้นจะคำนวณซ้ำทั้งหมดที่  ทำงานเหมือนเสน่ห์.

ผมคงไม่สามารถปรับปรุงมัน, แต่ไม่ได้เป็นชนิดของ unix คนที่แก้ไขπ ถึง 18 ตัวเลขแม่นยำใช้ได้ทำให้ภาษาออว์ค และผมไม่ว่าถ้า jQuery guy อย่างใดอย่างหนึ่ง ยิ้ม.

</สิ้นสุด>

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

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

ควบคุมของ OK และปุ่มยกเลิก

ฉันเขียน บทความนี้ ที่เกิดขึ้นในขณะเดียวกันกลับไป, แต่ลักษณะเหมือนกับที่ฉันไม่ได้ลิงค์ได้จากบล็อกของฉันได้ในเวลา, ดังนั้นที่นี่ไป:

image

บทความนี้อธิบายวิธีการบังคับ newform.aspx เมื่อต้องการเปลี่ยนเส้นทางไปหน้าหนึ่งเมื่อผู้ใช้คลิกตกลงและหน้าที่แตกต่างเมื่อเธอคลิกที่ยกเลิก.

</สิ้นสุด>

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

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

คำแนะนำด่วน: JQuery เพิ่มหน้าประกาศของมอส

เมื่อเพิ่มหน้าเพลตการเผยแพร่ MOSS ใช้ jQuery, ฉันตีชนความเร็วต่อไปนี้:

ข้อผิดพลาดเซิร์ฟเวอร์ใน ' /’ แอพลิเคชัน.


ข้อผิดพลาดตัวแยกวิเคราะห์

คำอธิบาย: เกิดข้อผิดพลาดในระหว่างการแยกวิเคราะห์ทรัพยากรที่จำเป็นให้บริการการร้องขอนี้. กรุณาตรวจทานรายละเอียดข้อผิดพลาดในการแยกวิเคราะห์เฉพาะต่อไปนี้ แล้วปรับเปลี่ยนแฟ้มต้นฉบับของคุณอย่างเหมาะสม.

ข้อผิดพลาดตัวแยกวิเคราะห์: ควบคุมเนื้อหาจะเท่าในหน้าเนื้อหาที่ประกอบด้วยการควบคุมเนื้อหาโดยตรง.

แหล่งข้อผิดพลาด:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

แฟ้มต้นฉบับ: /_catalogs/masterpage/KCC_FacultyMember.aspx    บรรทัด: 12


ข้อมูลรุ่น: Microsoft .NET Framework รุ่น:2.0.50727.4927; รุ่น ASP.NET:2.0.50727.4927

มันเป็นง่ายพอที่จะแก้ไข (h/t กับเพื่อนร่วมงานของฉัน, โรงแรมอูเดย์ Ethirajulu).  ให้แน่ใจว่า รหัส jQuery อยู่ภายใน "PlaceHolderAdditionalPageHead" ดังรูป:

<asp:เนื้อหา ContentPlaceholderID = "PlaceHolderAdditionalPageHead" runat = "เซิร์ฟเวอร์">

<สคริปต์

    ชนิด = "ข้อ ความ/javascript"

    src="/jQuery/jquery-1.4.min.js">

</สคริปต์>

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

  $(เอกสาร).พร้อม(ฟังก์ชัน() {

   // สิ่งที่ยอดเยี่ยมของ jQuery ที่นี่.

   });

</สคริปต์>

</สิ้นสุด>

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

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