Tag Archives: jQuery

XSLT और jQuery नमूने

मैं XSLT और jQuery और सोचा कि मैं हिस्सा होता है कि दूसरों के भविष्य में उपयोगी पा सकते हैं के कुछ टुकड़े का एक बहुत कर रहा है.

उदाहरण 1: सरल जावास्क्रिप्ट का उत्सर्जन / XSLT में jQuery:

<xsl:टेम्पलेट मैच "कुछ =" xml:अंतरिक्ष = "" की रक्षा>

  <!– रिक्त क्वेरी अनुकूल फिल्टर छुपी हुई फ़ील्ड बाहर –>
  <स्क्रिप्ट प्रकार = "पाठ/जावास्क्रिप्ट">
    $(दस्तावेज़).तैयार(समारोह(){
      $("#QueryFriendlyFilters").वैल("खाली");
    });
  </स्क्रिप्ट>

</xsl:टेम्पलेट>

कि थोड़ा कुछ जावास्क्रिप्ट है कि पेज लोडिंग समाप्त करने के लिए इंतजार कर रहा है उत्सर्जन करता है (की वजह $(दस्तावेज़).तैयार(…)) और तब सेट किसी छुपे फ़ील्ड का मान QueryFriendlyFilters "खाली" अनलंकृत मान के लिए नामित.

उदाहरण 2: का प्रयोग करें <xsl:अगर> "से अधिक" की जांच करने के लिए,  "कम से कम", आदि.

<xsl:टेम्पलेट मैच "कुछ =" xml:अंतरिक्ष = "" की रक्षा>

  <div id = "fdcAllFilters">
 
    <xsl:यदि test="@Count>0">
      <स्पैन वर्ग = "fdcFilterLabel">मौजूदा फ़िल्टर्स:</काल>
    </xsl:अगर>

    <!– यहाँ और अधिक सामान होता है. –>

</xsl:टेम्पलेट>

इसके बाद के संस्करण टुकड़ा अगर "" कुछ"तत्व की गिनती" नामक एक विशेषता शून्य से अधिक है देखने के लिए जाँच करता है।  XML इस के पीछे की तरह कुछ होगा:”

<कुछ गिनती "5" = />

उदाहरण 3: सभी तत्वों के माध्यम से पुनरावृति, jQuery कॉल interspersing.

<!– सभी फ़िल्टर के माध्यम से पुनरावृति और सही प्रदर्शित करें  कड़ियाँ. –>
<xsl:के लिए प्रत्येक चयन करें = "UserFilter">

  <एक वर्ग "FilterHref =" href = "जावास्क्रिप्ट:mySubmitPage('RemoveUserFilter','{@ ID}’)">[एक्स]</एक>

  <स्पैन वर्ग = "fdcFilterLabel"><xsl:select="@FilterValue"/ मान का></काल>

  <स्क्रिप्ट प्रकार = "पाठ/जावास्क्रिप्ट">

    $(दस्तावेज़).तैयार(समारोह(){
        <xsl:पाठ><![CDATA[$("#QueryFriendlyFilters").वैल( ($("#QueryFriendlyFilters").वैल() + " ]]></xsl:पाठ>\"<xsl:select="@FilterValue"/ मान का>\"<xsl:पाठ><![CDATA["));]]></xsl:पाठ>
    });

  </स्क्रिप्ट>

</xsl:के लिए प्रत्येक>

इसके बाद के संस्करण टुकड़ा सबसे जटिल है और इसे करने के लिए आसान तरीके हो सकते हैं.

XML इस के पीछे मोटे तौर पर इस तरह दिखता है:

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

यह टुकड़ा के माध्यम से iterating है <UserFilter> नोड्स। 

यह पहली बार एक लंगर का उत्सर्जन करता कि जब क्लिक किया टैग पृष्ठ पर पहले से ही है एक जावास्क्रिप्ट फ़ंक्शन invokes, "mySubmitPage" और एक विशेषता के मान पर गुजरता है <UserFilter> नोड "ID" नाम दिया। 

यह तो कुछ jQuery के लिए पृष्ठ लोड करने के लिए इंतजार कर रहा है उत्सर्जन करता है।  उस jQuery छुपी FilterValue विशेषता के मान जोड़कर "QueryFriendlyFilters" नामक फ़ील्ड अद्यतन करता है।  नोट सभी पागल <xsl:पाठ> और <![CDATA[ … ]]> सामान.

यह है कि, आशा है कि यह मदद करता है!

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

Lists.asmx, GetListItems और फ़ोल्डर्स

मैं SharePoint के भाग के रूप में प्रदान की आज list.asmx वेब सेवा के आसपास किसी के लिए कुछ शोध कर रहा था 2010 (और इससे पहले).  वह सूची आइटम को रूट फ़ोल्डर में प्राप्त करने में सक्षम था (उप फ़ोल्डर्स के नाम सहित), लेकिन उप फ़ोल्डर्स में आइटम्स नहीं मिल सका।  मैं कुछ internets पर चारों ओर देख रहा था और यह एक आश्चर्य की बात आम सवाल है।  अभी तक, मैं सरल प्रश्न के लिए एक अच्छा जवाब नहीं मिल सका, अगर मैं फ़ोल्डर पता", मैं उस फ़ोल्डर में आइटम कैसे मिलता है?”  ईमानदार होना करने के लिए, मैं थोड़ी देर के लिए मेरी अपनी पर इस एक बाहर आंकड़ा करने के लिए चाहता है के बाद से मैं कोशिश कि सभी कठिन नहीं था मुस्कुराओ.

इस सेट अप करने के लिए, मैं एक साइट "ब्लॉगिंग परिदृश्यों" नाम दिया और "उप फ़ोल्डर्स के साथ कस्टम सूची" नामक एक कस्टम सूची बनाई।  मैं तो नाम फ़ोल्डर बनाया:

  • वर्ष 2005
  • वर्ष 2006
  • वर्ष 2007

मैं कुछ आइटम्स फ़ोल्डर में जोड़े "वर्ष 2006 '।  यह है क्या यह की तरह लग रहा है:

image

मेरे दोस्त सी # कोड लिख नहीं है, लेकिन बल्कि जावा का प्रयोग, तो क्या वह वास्तव में जरूरत SOAP एनवलप था।  कि प्राप्त करने के लिए, मैं jQuery का एक सा लिखा था और फिर सारंगी बजानेवाला वास्तविक HTTP बातचीत करने के लिए प्रयुक्त.

यहाँ प्रासंगिक jQuery है (यदि आप कॉपी/पेस्ट करना चाहते हैं मैं कोड नीचे नीचे नकल):

image

वे पहली कुंजी है दोनों को शामिल करने के लिए एक <queryOptions> और <QueryOptions> नोड।  दूसरा प्रमुख है कि <फ़ोल्डर> नोड एक यूआरएल जो करने के लिए क्लाइंट तक पहुँच गया है.

इस प्राप्त करने के लिए अन्य तरीके हो सकते हैं, लेकिन यह मेरे लिए अच्छी तरह से काम किया है jQuery का उपयोग करते समय.

यहाँ SOAP एनवलप इसके बाद के संस्करण के लिए है:

<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/ब्लॉगिंग उप फ़ोल्डर्स/वर्ष 2006 के साथ परिदृश्यों/सूची/कस्टम सूची</फ़ोल्डर>
        </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 उप फ़ोल्डर्स/वर्ष 2006 के साथ परिदृश्यों/सूची/कस्टम सूची</फ़ोल्डर> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:शरीर> \
           </soapenv:लिफ़ाफ़ा>";

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

अंतहीन को नेस्ट करना <div> टैग और jQuery

यह ऐसी एक oddball विषय की तरह लगता है, मुझे यकीन है कि यह वास्तव में के बारे में ब्लॉगिंग के लायक है नहीं कर रहा हूँ, लेकिन कि कभी नहीं से पहले मुझे बंद कर दिया है, तो यहाँ हम चले मुस्कुराओ

मैं जहाँ मैं एक खोज से कुछ डेटा खींच रहा हूँ एक परियोजना पर काम कर रहा हूँ, यह एक XML संदेश और उसके बाद उस XML में पैकेजिंग अंततः XSLT के माध्यम से HTML में तब्दील है।  JQuery का एक बहुत कुछ शामिल है, जो की एक बिट कुछ tabbing कार्यक्षमता लागू करता है।  जब आप कोई टैब पर क्लिक करें (वाक़ई, एक <div>), .hide jQuery invokes() और .show() पर विभिन्न divs (तो इस मामले में कोई postbacks वहाँ रहे हैं के लिए प्रारंभिक पृष्ठ लोड सभी सामग्री डाउनलोड).

घंटे पहले की एक गुच्छा, टैब स्विचन तर्क erratically व्यवहार करना शुरू कर दिया और यह मेरी टैब्स में से एक दिखाना नहीं होता।  मैं अंततः के लिए नीचे इस तथ्य यह है कि इंटरनेट एक्सप्लोरर ट्रैक (कम से कम) सोचा कि <div> टैग तक नेस्ट किया हुआ, इरादा की तुलना गहराई तक।डेवलपर उपकरण पट्टी दिखाना होगा:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <-अंत में यह दिखा रहा है यहाँ नीचे सभी तरह बंद हो गया था!

तो, अगर मैंने किया था एक $("#Tab1Content").छिपाएँ(), मैं भी Tab2 छिपा होगा और मैं अगर मैं भी Tab1 शो फ्लॉप Tab2 कभी नहीं दिखा सकता है।  मैं नकल की है और दृश्य स्टूडियो और इसे ऊपर div अस्तर के सभी अच्छी तरह से पता चला में कोड चिपकाया, की तरह वे कर रहे हो करने के लिए चाहिए थे, इस तरह की तलाश:

-<div id = "Tab1Content">
  +<div>
  +<div>
-<div id = "Tab2Content">
  +<div>
  +<div>

मैं थोड़ी देर के लिए दीवार के खिलाफ मेरे सिर को हरा और देखा था कि वास्तविक HTML में खाली के एक बहुत कोड जनरेट कर रहा है <div> टैग, की तरह:

<शरीर>

  <div id = "Tab1Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

  <div id = "Tab2Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

</शरीर>

(इसके बाद के संस्करण waaaaaaaaaaaay oversimplified है।  खाली div टैग पूरी तरह से मान्य हैं. उनमें से कुछ मेरे <div> टैग सामग्री से भरा रहे थे, लेकिन कई और अधिक नहीं थे।  मैं साकार करने आया था कि मेरी <xsl:के लिए प्रत्येक> निर्देशों के लघु-रूप उत्सर्जक थे div टैग जब xsl:के लिए प्रत्येक नहीं था ' किसी भी डेटा को खोजने।  मैं एक HTML टिप्पणी आउटपुट में मजबूर, के रूप में दिखाया गया:

image

 

करने के बाद मैंने किया है कि, सभी div को अच्छी तरह से तैयार किया और मेरी टैब स्विचन काम शुरू कर दिया.

हमेशा की तरह, मुझे आशा है कि इस मदद करता है किसी को एक चुटकी में.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

अभी तक अधिक jQuery–एक उदाहरण के छवि का आकार परिवर्तन

मैं एक ग्राहक की पुरानी विक्रेता से एक वेब पार्ट विरासत में मिला और यह एक छवि का आकार समस्या है।  छवियाँ 60 होना चाहिए×50 लेकिन कुछ अजीब कारण के लिए, मूल विक्रेता उन्हें 42 में मजबूर×42, इसलिए वे squashed देखो:

 

अच्छी छवि

छवि खराब

यहाँ मार्कअप है (कुछ हद तक सरलीकृत):

<टेबल क्लास 'विस्तारित-आउटलुक' =>
  <thead>
    <टी. आर.>
      <गु  चौड़ाई ='100′>3 मंगलवार</गु>
    </टी. आर.>
  </thead>

  <tbody>
    <tr कक्षा = 'भविष्यवाणी'>
      <टीडी चौड़ाई ='100′>
        <उल>
          <ली क्लास 'उच्च' =>उच्च: 72&डिग्री;च</li>
          <ली क्लास = 'कम'>कम: 44&डिग्री;च</li>
          <ली क्लास 'हालत' =>सनी
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ चौड़ाई ='42’ ऊंचाई ' 42 =’ alt =” />
          </li>
        </उल>
      </td>
    </टी. आर.>

  </tbody>

</तालिका>

आप कि भले ही ध्यान दें हूँ खुद की छवि पथ उचित आयाम से पता चलता है (60×50) मूल विक्रेता यह 42 में मजबूर×42.  क्यों?  दीवाना.

वैसे भी, मैं इस मुद्दे के लिए एक त्वरित और आसान समाधान चाहते थे और मैं करने के लिए jQuery में बदल गया।  उपयुक्त के सभी का पता लगाने के लिए चाल थी <आइएमजी> टैग।  मैं किसी भी अन्य img टैग के साथ के बारे में गंदगी करना चाहता था (जिनमें से वहाँ हैं कई).  JQuery के इस बिट चाल थी:

<स्क्रिप्ट प्रकार = पाठ/जावास्क्रिप्ट"" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></स्क्रिप्ट>

<स्क्रिप्ट प्रकार = "पाठ/जावास्क्रिप्ट">
     $(दस्तावेज़).तैयार(समारोह () {

         $(' li.condition > आइएमजी ').प्रत्येक(समारोह (सूचकांक, आइटम)
           
{
             $(आइटम).सीएसएस("चौड़ाई", "60"); 
             $(आइटम).सीएसएस("ऊँचाई", "50");
            });
     }); // दस्तावेज़ लोड पर
</स्क्रिप्ट>

संग्रह कोड की है कि कुछ पाता है <li> टैग जिसका वर्ग "हालत" है और <आइएमजी> बच्चों को।  यह तब कि सभी के माध्यम से iterates.  एक आकर्षण की तरह काम किया.

मैं शायद यह कारगर बनाने सकता है, लेकिन मैं कभी नहीं था एक unix आदमी है कि π का हल की तरह करने के लिए 18 अंक परिशुद्धता sed और awk का उपयोग और यदि या तो jQuery आदमी मैं उस तरह नहीं हूँ मुस्कुराओ.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

आपके ठीक और रद्द करें बटन पर नियंत्रण रखना

मैं ने लिखा इस अनुच्छेद एक समय पहले, लेकिन मैं यह करने के लिए समय पर मेरे ब्लॉग से लिंक नहीं किया था की तरह लग रहा है, तो यहाँ जाता है:

image

यह आलेख बताता है कि कैसे newform.aspx जब जब वह ' रद्द करें ' क्लिक उपयोगकर्ता ठीक और एक अलग पेज क्लिक करता है एक पृष्ठ के लिए पुनर्निर्देशित करने के लिए बाध्य करने के लिए.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

त्वरित टिप: JQuery काई प्रकाशन पृष्ठों को जोड़ने

जब काई publising 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

यह काफी आसान को ठीक करने के लिए गया था (एच/टी मेरे सहयोगी, उदय Ethirajulu).  सुनिश्चित करें कि कि jQuery कोड के रूप में दिखाए गए "PlaceHolderAdditionalPageHead" के अंदर रहती हो:

<एएसपी:सामग्री ContentPlaceholderID "PlaceHolderAdditionalPageHead =" runat = "सर्वर">

<स्क्रिप्ट

    प्रकार = पाठ/जावास्क्रिप्ट""

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

</स्क्रिप्ट>

<स्क्रिप्ट प्रकार = "पाठ/जावास्क्रिप्ट">

  $(दस्तावेज़).तैयार(समारोह() {

   // JQuery के शानदार सामान यहाँ जाता है.

   });

</स्क्रिप्ट>

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin