Címkearchívumok: jQuery

XSLT- és jQuery minták

Van csinálás sok XSLT és jQuery és gondolkodás én akar osztozik néhány mozaik, hogy mások hasznosnak találhatja a jövőben.

Példa 1: Egyszerű JavaScript bocsátanak ki / az XSLT jQuery:

<XSL:sablon egyezés = "valami" XML:szóköz = "megőrzése">

  <!– Ki a lekérdezés barátságos szűrők rejtett mező üres –>
  <a parancsfájl típus = "text/javascript">
    $(dokumentum).kész(függvény(){
      $("#QueryFriendlyFilters").val("üres");
    });
  </parancsfájl>

</XSL:sablon>

Hogy kicsit bocsát ki az egyes JavaScript, hogy megvárja, amíg az oldal befejezni berakodás (miatt a $(dokumentum).kész(…)) és ezután beállítja egy rejtett mező értéke nevű QueryFriendlyFilters a literális érték "üres".

Példa 2: Használata <XSL:Ha> "nagyobb, mint" ellenőrzése,  „kisebb jel ”, stb.

<XSL:sablon egyezés = "valami" XML:szóköz = "megőrzése">

  <Div id = "fdcAllFilters">
 
    <XSL:Ha test="@Count>0">
      <span class = "fdcFilterLabel">Aktuális szűrők:</span>
    </XSL:Ha>

    <!– több dolog történik itt. –>

</XSL:sablon>

A fenti kódrészletben ellenőrzi, hogy ha a "valami" elem "számítanak" nevű attribútum értéke nagyobb nullánál.  Az XML-mögött ez lenne valami ilyesmi:”

<valami Count = "5" />

Példa 3: Iteráció az összes elem, interspersing jQuery hívások.

<!– Minden szűrőn keresztül Bejárjuk és a helyes megjelenítéséhez  hivatkozások. –>
<XSL:for each select = "UserFilter">

  <egy osztály "FilterHref =" href = "javascript:mySubmitPage("RemoveUserFilter",'{@ AZONOSÍTÓ}’)">[X]</egy>

  <span class = "fdcFilterLabel"><XSL:érték a select="@FilterValue"/></span>

  <a parancsfájl típus = "text/javascript">

    $(dokumentum).kész(függvény(){
        <XSL:szöveg><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></XSL:szöveg>\"<XSL:érték a select="@FilterValue"/>\"<XSL:szöveg><![CDATA["));]]></XSL:szöveg>
    });

  </parancsfájl>

</XSL:for each>

A fenti kódrészletben a legbonyolultabb és azt könnyebb módjai lehetnek.

Az XML-mögött ez néz durván:

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

Ez a kódrészlet keresztül van léptetés <UserFilter> csomópontok. 

Először bocsát ki horgony kódelem, hogy mikor csattant már az oldalon JavaScript-függvény meghívja, "mySubmitPage", és átadja az attribútum értéke a <UserFilter> "Azonosító" nevű csomópontra. 

Majd néhány jQuery, hogy megvárja, amíg az oldal betöltése bocsát ki.  Hogy jQuery frissíti az FilterValue attribútum értékének hozzáadásával a "QueryFriendlyFilters" nevű rejtett mező.  Megjegyzés: a őrült <XSL:szöveg> és <![CDATA[ … ]]> megtöm.

Ez, Remél ez segít!

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Lists.asmx, GetListItems és a mappák

Csinálok néhány kutatás valaki ma körül a list.asmx webszolgáltatást, SharePoint részeként 2010 (és a korábbi).  Ő volt képes-hoz kap a lista elemeit a gyökérmappában (beleértve a tengeralattjáró-tartók nevei), de nem tudott kap az elemek tengeralattjáró-tartók-ban.  Csináltam néhány látszó körül a a internets, és meglepően közös kérdés.  Még, Tudtam, hogy egy jó az egyszerű kérdésre választ, "ha tudom, hogy a mappa, Hogyan jutok a cikkeket a mappában?”  Hogy őszinte legyek, Nem próbálom minden, amit kemény óta már akartam ábra, ez egy ki a saját egy darabig Mosoly.

Ennek beállításához, Létrehoztam egy webhely "Forgatókönyvek Blogging" nevű és „egyéni lista a Sub mappák"nevű egyéni lista.  Majd hozott létre nevű mappák:

  • Év 2005
  • Év 2006
  • Év 2007

Én hozzáadott néhány elem "2006-os évre" mappába.  Ez az, amit úgy néz ki, mint:

image

A barátom nem C# kód írása, de inkább a Java használata, így a SOAP-boríték volt mire ő igazán szükség.  -Hoz kap amit, Írtam egy kicsit a jQuery, és fiddler segítségével kap a tényleges HTTP-beszélgetés.

Itt van a megfelelő jQuery (Másoltam a kód le alul ha ön akar-hoz másol/tészta):

image

Azok első kulcsa tartalmazza mind a <queryOptions> és <QueryOptions> csomópont.  A második kulcsot, hogy a <Mappa> csomópont egy URL-címet, amelyhez az ügyfél hozzáfér.

Előfordulhat, hogy más ways-hoz kap ez, de ez munkás jól értem, amikor segítségével jQuery.

Itt van részére a fenti SOAP-boríték:

<soapenv:Boríték xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Szerv>
    <GetListItems xmlns =’
http://schemas.microsoft.com/SharePoint/SOAP/’>
      <listName>Egyéni lista Sub-mappákkal</listName>
      <viewFields>  
        <ViewFields>
          <A FieldRef neve = "cím’ />
          <A FieldRef neve ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Mappa>
http://demoserver1 és a blogírás Sub mappák/év 2006 forgatókönyvek/listák/egyéni lista</Mappa>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Szerv>
</soapenv:Boríték>

Sok példák és körül ez a vita vezetett, azt hinni, hogy minden szükségem volt <QueryOptions> gombra, és adja meg a mappa nevét.  Nekem, Azt kell mindkét betakar ez belsejében <queryOptions> valamint egy teljesen minősített URL-adja meg a <Mappa> csomópont.

Itt van a jQuery AJAX-telepítő:

$(dokumentum).kész(függvény() {
       var soapEnv =
           "<soapenv:Boríték xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Szerv> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
                       <listName>Egyéni lista Sub-mappákkal</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <A FieldRef neve = "cím’ /> \
                              <A FieldRef neve ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Mappa>http://demoserver1/Blogging Sub mappák/év 2006 forgatókönyvek/listák/egyéni lista</Mappa> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Szerv> \
           </soapenv:Boríték>";

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Végtelenül beágyazása <Div> Címkék és jQuery

Ez úgy tűnik, mint a oddball téma, Nem vagyok biztos benne, tényleg megéri blogging körülbelül, de amit soha nem leállt előtt nekem, so here we go Mosoly

Dolgozom a projekt, ahol vagyok húz a keresésből néhány adat, XML-üzenetet, majd az XML csomagolás végső soron részszabványokat HTML keresztül XSLT.  Van egy csomó jQuery érintett, egy kicsit néhány bejárási funkciót valósítja meg.  Ha rákattint egy lapon (valóban, egy <Div>), jQuery meghívja .hide() és .show() a különböző div-ekre (a kezdeti oldal teher letöltések minden tartalom, így van ebben az esetben nem a visszaküldések).

Egy csomó órával ezelőtt, Váltás a logikai lap kezdett kiszámíthatatlanul viselkednek, és ez nem mutat én a fülek egyikére.  Én végül nyomon azt le arra a tényre, hogy az internet explorer (legalább) azt hitte, hogy a <Div> messze egymásba ágyazott címkék, sokkal mélyebb, mint a tervezett.A fejlesztő eszköztár volna megjelenítése:

-<Div id = "Tab1Content">
  -<Div>
    -<Div>
      -<Div id = "Tab2Content">
        -<Div>
           …………………………
                   </Div>  <— Végül mutatja azt bezárták minden módon itt!

Így, én tett egy $("# Tab1Content").elrejtése(), Azt is elrejtheti az Tab2 és lehetett soha nem mutatni Tab2 ha nem is show Tab1.  Én fénymásoló és tészta a kód-ba visual studio, és megmutatta a div vonalba minden szépen, csak szeret ők voltak feltételezett-hoz csinál, mint ez keres:

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

Üt a fejem ellen a fal egy darabig, és észrevettem, hogy a tényleges HTML kódot generáló volt sok üres <Div> Címkék, mint:

<szerv>

  <Div id = "Tab1Content">

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

  </Div>

  <Div id = "Tab2Content">

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

  </Div>

</szerv>

(A fenti túlegyszerűsített waaaaaaaaaaaay.  Az üres div címkék teljesen érvényesek. Néhány én <Div> Címkék voltak teljes tartalom, de nem volt sok több.  Azért jöttem, hogy a megvalósítás, az én-m <XSL:for each> irányelvek kibocsátó voltak a rövid alakos div címkék, amikor az xsl:for each nem ' minden adat megkereséséhez.  A kimeneti HTML-megjegyzés kénytelen azt, Amint:

image

 

Után tett amit, a div szépen oszlopszélességeket és én fülre-kapcsol kezdett el dolgozni.

Mint mindig, Remélem, ez segít valaki, egy csipet.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Még több jQuery–Példa a kép átméretezése

A kijelző irántuk régi egy ügyfél-szállító, és ez birtokol egy kép mérete probléma.  A képek legyenek a 60×50 valami furcsa okból, de, az eredeti szállító kényszerítette őket-ba 42×42, így néznek, squashed:

 

Jó kép

Rossz kép

Itt van a korrektúrák (kissé egyszerűsített):

<táblázat osztály = "bővített outlook">
  <thead>
    <TR>
      <TH  szélesség = "100′>3 Kedd</TH>
    </TR>
  </thead>

  <alapú>
    <osztály tr = "Időjárás">
      <TD szélesség = "100′>
        <UL>
          <Li-class = "high">Magas: 72&deg;F</Li>
          <Li-class = "alacsony">Alacsony: 44&deg;F</Li>
          <Li osztály = 'feltétel'>Partly cloudy
            <img src =’
http://deskwx.WeatherBug.com/images/Forecast/icons/localized/60×50/en/Trans/cond007.PNG’ szélesség ='42’ magasság ='42’ ALT =” />
          </Li>
        </UL>
      </TF>
    </TR>

  </alapú>

</táblázat>

Akkor lesz megjegyezni, hogy bár a a kép maga elérési útja mutatja a megfelelő dimenzió (60×50) az eredeti szállító arra kényszerítette, hogy 42×42.  miért?  bolond.

Egyébként, Azt akartam, hogy egy gyors és egyszerű megoldás a probléma, és Megfordultam, hogy jQuery.  A trükk az volt, hogy keresse meg a megfelelő összes <img> Címkék.  Nem szeretné eldobni, a más img-címkék (amelyek vannak sok).  Ez a bit jQuery tett a fogás:

<a parancsfájl típus = "text/javascript" src ="http://Ajax.googleapis.com/AJAX/libs/jQuery/1.5/jQuery.min.js"></parancsfájl>

<a parancsfájl típus = "text/javascript">
     $(dokumentum).kész(függvény () {

         $(a feltétel. > img ").minden egyes(függvény (index, cikk)
           
{
             $(cikk).CSS("szélesség", "60."); 
             $(cikk).CSS("magasság", "50");
            });
     }); // a dokumentum betöltése
</parancsfájl>

A gyűjtemény megállapítja, hogy kicsit kód <Li> Címkék, amelynek osztály az "állapot" és <img> gyermekek.  Ez majd végiglépeget mind az összes amit.  Munkás szeret egy igézet.

Lehetne valószínűleg korszerűsítése, de soha nem volt egy unix a π megfejt fickó fajtája a 18 számjegy pontosságú sed és awk használata és a nem vagyok a fajta fickó jQuery, vagy ha Mosoly.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Az irányítást OK és a Mégse gombok

Én wrote Ez a cikk egy kicsit vissza, de úgy néz ki mint én nem csatolja a blogomban időpontjában a, tehát itt is:

image

A cikk ismerteti, amikor a felhasználó rákattint az OK gombra, és egy másik oldalra, amikor ő a Mégse gombra kattint egy oldal átirányítani newform.aspx kényszeríteni.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Gyors tipp: JQuery MOSS közzétételi lapok hozzáadása

Amikor MOSS közzétételi lapok segítségével jQuery fokozása, A következő speed bump hit:

Server Error in ' /’ Kérelem.


Elemzőhiba

Leírás: Hiba történt egy erőforrás szükséges ez a kérés feldolgozása közben. Tekintse át a következő konkrét Jegyzékfájlelemzési hiba részleteit, és módosítsa a forrás fájlt megfelelően.

Elemzőhiba: Csak a tartalomvezérlők tartózkodhatnak közvetlenül egy tartalomlap olyan tartalmi vezérlőelemeket tartalmaz, és.

Forrás-hiba:

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

Forrásfájl: /_catalogs/masterpage/KCC_FacultyMember.aspx    Vonal: 12


Verzióinformáció: Microsoft.NET Framework Version:2.0.50727.4927; ASP.NET-verzió:2.0.50727.4927

Ez volt könnyű elég-hoz erősít (h/t-hoz az én-m kolléga, Uday Ethirajulu).  Győződjön meg róla, hogy a jQuery-kód él benne a "PlaceHolderAdditionalPageHead", amint:

<ASP:A tartalom ContentPlaceholderID = "PlaceHolderAdditionalPageHead" runat = "server">

<parancsfájl

    Type = text/javascript""

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

</parancsfájl>

<a parancsfájl típus = "text/javascript">

  $(dokumentum).kész(függvény() {

   // Ragyogó jQuery cucc megy itt.

   });

</parancsfájl>

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin