Tag Archives: jQuery

XSLT in jQuery vzorcev

So bili delaš veliko XSLT in jQuery in misli, bi delež nekaj odrezke, da drugi lahko najdete koristne v prihodnosti.

Primer 1: Oddajajo preprostih JavaScript / jQuery v XSLT:

<XSL:predlogo ujemanje = "nekaj" XML:prostor = "ohranitev">

  <!– Prazen ven prijazno filtri skrito polje poizvedbe –>
  <skript type = "text/javascript">
    $(dokument).pripravljena(Funkcija(){
      $("#QueryFriendlyFilters").Val("prazne");
    });
  </skript>

</XSL:predlogo>

Da malo izpušča nekatere JavaScript, ki čaka na stran zdelati tovor (ker je $(dokument).pripravljena(…)) in nato Nastavi vrednost skrito polje z imenom QueryFriendlyFilters dobesedne vrednosti »empty«.

Primer 2: Uporaba <XSL:Če> Preverite "večje od",  "manj kot", itd.

<XSL:predlogo ujemanje = "nekaj" XML:prostor = "ohranitev">

  <div id = "fdcAllFilters">
 
    <XSL:Če test="@Count>0">
      <kalibrirni razred = "fdcFilterLabel">Trenutni filtri:</razpon>
    </XSL:Če>

    <!– več stvari se dogaja tukaj. –>

</XSL:predlogo>

Zgoraj košček preveri, če je atribut z imenom »Štetje« elementa "nekaj" večja od nič.  XML za to bi bilo nekaj podobnega:”

<nekaj Count = "5" />

Primer 3: Ponovi skozi vse elemente, interspersing jQuery klice.

<!– Ponovi skozi vse filtre in prikažete pravilno  povezave. –>
<XSL:za vsako izberite = "UserFilter">

  <razred = "FilterHref" href = "javascript:mySubmitPage("RemoveUserFilter",'{@ ID}’)">[X]</a>

  <kalibrirni razred = "fdcFilterLabel"><XSL:vrednost za select="@FilterValue"/></razpon>

  <skript type = "text/javascript">

    $(dokument).pripravljena(Funkcija(){
        <XSL:besedilo><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:besedilo>\"<XSL:vrednost za select="@FilterValue"/>\"<XSL:besedilo><![CDATA["));]]></XSL:besedilo>
    });

  </skript>

</XSL:za vsako>

Zgoraj odlomek je najbolj zapletena in se lahko lažje načine delati to.

XML zadaj to videti približno takole:

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

Ta odlomek je ponavljanje skozi <UserFilter> vozlišča. 

To najprej izpušča sidro tag, ki ob kliku prikliče funkcijo JavaScript, ki je že na strani, "mySubmitPage" in prelaze vrednost atributa je <UserFilter> vozlišče imenovane "ID". 

Nato jo izpušča nekateri jQuery, ki čaka na stran naložiti.  Ta jQuery posodobi skrito polje z imenom "QueryFriendlyFilters" z dodajanjem vrednost atributa FilterValue.  Opomba vse je noro <XSL:besedilo> in <![CDATA[ … ]]> stvari.

To je to, Upam, da pomaga!

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Lists.asmx, GetListItems in mape

Je bila delaš nekaj raziskav za nekoga, danes okoli list.asmx spletna storitev, ki so del SharePoint 2010 (in starejših).  Ona je uspelo priti elemente seznama na korensko mapo (vključno z imena podmape), vendar strjena lava zaslužiti elemente v podmape.  Sem, da nekaj iskal okoli na internets in je presenetljivo skupno vprašanje.  Še, Nisem mogel dobiti dober odgovor na preprosto vprašanje, "če vem mapo, Kako dobim elemente v mapi?”  Iskren, Nisem poskusil vse, da težko saj sem želela slika to ena na moje za nekaj časa Smile.

To nastaviti, Ustvarili ste stran, ki je imenovan "Blogging scenarijev" in seznam po meri, imenovano »Po meri seznam s Sub mape« .  Nato ustvarili mape, imenom:

  • Leto 2005
  • Leto 2006
  • Leto 2007

Sem dodal nekaj elementov v mapo »Leto 2006« .  To je kako izgleda:

image

Moj prijatelj ni pisanje C# kodo, vendar raje uporabo Java, tako MILO ovojnico je bil, kaj je res potreben.  Zadobiti ki, Sem napisal malo jQuery in nato uporablja Violinista priti dejanske HTTP pogovor.

Tukaj je ustreznih jQuery (I kopirati šifro navzdol spodaj Če želite Kopiraj in Prilepi):

image

So prvi ključ je vključuje tako a <queryOptions> in <QueryOptions> vozlišče.  Druga ključna je, da je <Mapo> vozlišče je URL, ki ima odjemalec dostop.

Obstajajo lahko drugih načinov, da to, vendar to delal dobro za mene, ko z uporabo jQuery.

Tukaj je MILO ovojnico za zgoraj:

<soapenv:Ovojnica xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Telo>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Seznam po meri s Sub mape</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef ime = "naslov’ />
          <FieldRef ime = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Mapo>
http://demoserver1 in Blogging Scenariji/sezname/Custom seznam s Sub mape in leto 2006</Mapo>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Telo>
</soapenv:Ovojnica>

Veliko primerov in razpravo okoli tega pripeljala me, da verjamem, da je bilo vse rabim <QueryOptions> in določite ime mape.  Za mene, I potreba obema zavijanje it znotraj <queryOptions> kot tudi določite popolnoma kvalificirano URL za v <Mapo> vozlišče.

Tukaj je jQuery AJAX setup:

$(dokument).pripravljena(Funkcija() {
       var soapEnv =
           "<soapenv:Ovojnica xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Telo> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Seznam po meri s Sub mape</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef ime = "naslov’ /> \
                              <FieldRef ime = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Mapo>http://demoserver1/Blogging Scenariji/sezname/Custom seznam s Sub mape in leto 2006</Mapo> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Telo> \
           </soapenv:Ovojnica>";

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Endlessly gnezdenje <div> Oznake in jQuery

To se zdi kot take Otkačen tema, Nisem prepričan, da je res vredno blogging o, ampak to je nikoli me je ustavil pred, tako da gremo Smile

Sem telovaditi na projektu, kjer sem vleče nekaj podatkov iz iskanja, pakiranje sporočilo o napaki XML in nato da XML na koncu preoblikovala v HTML pot XSLT.  Tam sodeluje veliko jQuery, en bit, ki izvaja nekaj funkcionalnosti tabbing.  Ko kliknete na zavihek (res, a <div>), jQuery sklicuje .hide() in .show() na različnih divs (Ko začetno polnitev stran downloads vsi zadovoljen, tako da ni nobenih povratnih objav v tem primeru).

Kup ur nazaj, zanka preklopitev logika začel obnašati nepredvidljivo in ne bi prikazuje enega od svoj tabs.  Sem navsezadnje gosenicami do dejstva, da internet explorer (vsaj) mislil, da je <div> Tags ugnezdena daleč, veliko globlje, kot predvideno.Developer toolbar bi pokazal:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <— končno kaže, da je zaprla vse poti tukaj!

Tako, Če sem storil a $("#Tab1Content").Skrij(), Bi tudi skriti Tab2 in nikoli ne bi pokazal Tab2, če tudi ni pokazal Tab1.  Kopirali in prilepili kodo v visual studio in je vse v div obloge gor lepo pokazala, tako, kot naj bi bili opravljali, videti takole:

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

Premagati mojo glavo ob zid za nekaj časa in opazil, da je bil dejanski HTML kodo ustvarja veliko praznih <div> Tags, kot:

<telo>

  <div id = "Tab1Content">

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

  </div>

  <div id = "Tab2Content">

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

  </div>

</telo>

(Zgoraj je waaaaaaaaaaaay poenostavljeno.  Prazen div oznake so popolnoma veljavna. Nekaj mojih <div> oznake so bile polne vsebine, vendar ni bilo veliko več.  Sem prišel do spoznanja, da moje <XSL:za vsako> direktiv so bili oddajajo skrajšani obliki div tags ko xsl:za vsako nisem "najde podatkov.  Sem prisiljen HTML komentar v izhod, kot je prikazano:

image

 

Čez sem storil to, vse div postavili lepo in moj zanka preklopitev začel delati.

Kot vedno, Jaz upanje to pomoč nekdo v ščepec.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Še več jQuery–Velikost primer slike

Sem podedoval spletnih gradnikov iz starega dobavitelja naročnika in je podoba velikost problem.  Slike morajo biti 60×50 ampak za nekatere čuden razlog, original dobavitelja prisilila v 42×42, tako izgledajo Izgnječen:

 

Dobro sliko

Slab imidž

Tukaj je označevalni (nekoliko poenostavljeno):

<namizni razred = "razširjeni outlook">
  <THEAD>
    <tr>
      <th  širina = "100′>3 Torek</th>
    </tr>
  </THEAD>

  <TBODY>
    <razred tr = "napoved">
      <td širino = "100′>
        <UL>
          <Li class = "high">Visoko: 72&deg;F</Li>
          <Li class = "majhna">Nizko: 44&deg;F</Li>
          <Li class = "stanju">Sončno
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ širina = 42’ višina = 42’ ALT =” />
          </Li>
        </UL>
      </TD>
    </tr>

  </TBODY>

</Tabela>

Bom vas opozoriti, da čeprav je pot do slike, sama prikazuje ustreznega razsežnosti (60×50) uradne to prisiljeni v 42×42.  zakaj?  noro.

Kakorkoli že, Hotela sem, da hitro in enostavno rešitev za težavo in sem se obrnil k jQuery.  Trik je najti vse ustrezne <img> Tags.  Nisem hotel postopati z vse druge oznake img (od katerih so mnogi).  Ta bit jQuery did ukana:

<scenarij type = text/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></skript>

<skript type = "text/javascript">
     $(dokument).pripravljena(Funkcija () {

         $("li.condition > img ").vsak(Funkcija (indeks, element)
           
{
             $(element).CSS("širina", "60"); 
             $(element).CSS("višina", "50");
            });
     }); // na dokument obremenitev
</skript>

Ta košček kode najde zbiranje <Li> Tags katerega razreda je "stanje" in <img> otroci.  To nato poudarjeno skozi vse to.  Obdelan brezhibno.

Verjetno bi poenostaviti to, ampak nikoli nisem bil na vrste človek unix, ki reši π za 18 števk natančnost z uporabo sed in awk in nisem te vrste, če jQuery fant bodisi Smile.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Prevzeti nadzor nad OK in Prekliči gumbi

Sem napisal Ta članek nekaj časa nazaj, vendar izgleda, da nisem link nanj, od svoj blog v času, Torej, tukaj gre:

image

Ta članek opisuje, kako prisiliti newform.aspx preusmeriti na eni strani, ko uporabnik klikne OK in drugo stran, ko je kliknil Prekliči.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Nagel odlagališče: Dodajanje jQuery na strani MOSS za objavljanje

Ko povečanje MOSS publising strani z uporabo jQuery, Zadel sem naslednje hitrosti Čvoruga:

Pomočnik zmota v ' /’ Uporaba.


Napaka razčlenjevalnika

Opis: Napaka pri razčlenjevanju sredstvo, ki bi oskrboval to zahtevo. Prosimo, preglejte naslednje posebne Razčlenitvena napaka podrobnosti in spremenite izvorno datoteko ustrezno.

Razčleniti zmota vest: So dovoljena le kontrolnike vsebine neposredno na strani z vsebino, ki vsebuje kontrolnike vsebine.

Izvor napake:

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

Izvorne datoteke: /_catalogs/masterpage/KCC_FacultyMember.aspx    Line: 12


Informacije o različici: Microsoft .NET Framework, različica:2.0.50727.4927; ASP.NET različica:2.0.50727.4927

To je enostavno dovolj, da se določi (h/t do kolega, Uday Ethirajulu).  Bodite prepričani, da jQuery koda živi znotraj "PlaceHolderAdditionalPageHead", kot je prikazano:

<ASP:Vsebine ContentPlaceholderID = "PlaceHolderAdditionalPageHead" runat = "strežnik">

<skript

    Type = text/javascript""

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

</skript>

<skript type = "text/javascript">

  $(dokument).pripravljena(Funkcija() {

   // Briljantno jQuery stvari gre tukaj.

   });

</skript>

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin