Arhiva oznaka: jQuery

XSLT i Jquery Uzorci

Imam bio događaj puno XSLT i jQuery i pomislio bih podijeliti nekoliko isječaka da drugi mogu biti korisne u budućnosti.

Primjer 1: Šalji jednostavan JavaScript / jQuery u XSLT:

<XSL:Predložak utakmica = "nešto" xml:prostor = "sačuvati">

  <!– Blank iz upita prijateljski filteri skrivene polje –>
  <skripta type = "text / javascript">
    $(dokument).spreman(funkcija(){
      $("# QueryFriendlyFilters").Val("Prazan");
    });
  </skripta>

</XSL:predložak>

To malo emitira neke JavaScript da čeka na stranici završi učitavanje (zbog $(dokument).spreman(...)) a zatim postavlja vrijednost skrivenog polja pod nazivom QueryFriendlyFilters u doslovnom vrijednosti "prazan".

Primjer 2: Koristiti <XSL:ako> provjerite "veći od",  "Manje od", itd..

<XSL:Predložak utakmica = "nešto" xml:prostor = "sačuvati">

  <div id = "fdcAllFilters">
 
    <XSL:ako se test = "@ Točka>0">
      <span class = "fdcFilterLabel">Trenutni uvjeti:</raspon>
    </XSL:ako>

    <!– više stvari događa ovdje. –>

</XSL:predložak>

Gore isječak provjerava da li atribut pod nazivom "Grof" u "nešto" element je veći od nule.  XML iza toga će biti nešto poput:"

<nešto Count = "5" />

Primjer 3: Iteraciju kroz sve elemente, interspersing jQuery poziva.

<!– Iteraciju kroz sve filtere i prikazati točno  linkovi. –>
<XSL:za-svaki odaberite UserFilter = "">

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

  <span class = "fdcFilterLabel"><XSL:vrijednost od select = "@ FilterValue" /></raspon>

  <skripta type = "text / javascript">

    $(dokument).spreman(funkcija(){
        <XSL:tekst><![CDATA[$("# QueryFriendlyFilters").Val( ($("# QueryFriendlyFilters").Val() + " ]]></XSL:tekst>\"<XSL:vrijednost od select = "@ FilterValue" />\"<XSL:tekst><![CDATA["));]]></XSL:tekst>
    });

  </skripta>

</XSL:za-svakog>

Iznad isječak je najsloženiji i postoji svibanj biti lakši načini kako to učiniti.

XML iza to izgleda otprilike ovako:

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

Ovaj isječak Ponavljanje kroz <Upute za filter> čvorova. 

To je prvi emitira sidro oznaku da kada se pritisne poziva JavaScript funkciju koja je već na stranici, "MySubmitPage" i prelazi vrijednost atributa na <Upute za filter> čvor pod nazivom "ID". 

On je tada emitira neki jQuery koja čeka za stranicu za učitavanje.  To Jquery ažuriranja skrivene polje pod nazivom "QueryFriendlyFilters" dodavanjem vrijednosti FilterValue atribut.  Imajte na umu sve ludo <XSL:tekst> i <![CDATA[ ... ]]> stvari.

To je to, nadam se da pomaže!

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Lists.asmx, GetListItems i mape

Sam bio događaj neki istraživanje za nekoga danas oko uslugu list.asmx web predviđeno kao dio sustava SharePoint 2010 (i ranije).  Ona je bila u mogućnosti da biste dobili stavke popisa na korijensku mapu (uključujući imena pod-mape), , ali nije mogao dobiti stavke u pod-mape.  Ja sam neki obličje okolo na internets i to je iznenađujuće zajedničko pitanje.  Još, Nisam mogao dobiti dobar odgovor na jednostavno pitanje, "Ako znam mapu, kako mogu dobiti stavke u mapi?"  Da budem iskren, Nisam pokušati sve što je teško jer sam želio shvatiti ovaj na moj posjedovati neko vrijeme Osmijeh.

Da biste postavili ovo gore, I stvorio je mjesto pod nazivom "Blogovi" Scenariji i prilagođeni popis pod nazivom "Custom Popis s podmape".  Tada sam stvorio mape pod nazivom:

  • Godina 2005
  • Godina 2006
  • Godina 2007

Dodao sam nekoliko stavki u mapu "Godina 2006".  To je ono što izgleda kao:

image

Moj prijatelj ne piše C # koda nego koristeći Java, tako da je SOAP omotnici je ono što je stvarno potrebno.  Da biste dobili da, Napisao sam malo jQuery i zatim koristiti Fiddler da biste dobili stvarni HTTP razgovor.

Evo relevantne jQuery (Ja kopirati kod ispod želite li copy / paste):

image

Oni su prvi ključ je da su oba <queryOptions> i <QueryOptions> čvor.  Drugi ključ je da <Mapa> čvor je URL koji klijent ima pristup.

Postoji svibanj biti drugih načina da se to, ali to je radio i za mene kada se koristi jQuery.

Ovdje je SOAP omotnice za gore:

<soapenv:Omotnica xmlns:soapenv =’http://schemas.xmlsoap.org / sapun / kuverta /’>                
  <soapenv:Tijelo>
    <GetListItems xmlns =’
http://schemas.microsoft.com / SharePoint / sapun /’>
      <listname>Prilagođeni popis s podmape</listname>
      <viewFields>  
        <ViewFields>
          <FieldRef Ime = 'Naslov’ />
          <FieldRef Ime = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Mapa>
http://demoserver1/Blogging Scenariji / popisi / Custom List sa podmape / godine 2006</Mapa>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Tijelo>
</soapenv:Omotnica>

Puno primjera i diskusiju oko to je dovelo me da vjerujem da je sve što mi treba je <QueryOptions> i odredite naziv mape.  Za mene je, Trebam oba zamotajte ga u <queryOptions> kao i navesti u potpunosti kvalificirani za URL <Mapa> čvor.

Evo jQuery AJAX postava:

$(dokument).spreman(funkcija() {
       je soapEnv =
           "<soapenv:Omotnica xmlns:soapenv =’http://schemas.xmlsoap.org / sapun / kuverta /’> \
               <soapenv:Tijelo> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / sapun /’> \
                       <listname>Prilagođeni popis s podmape</listname> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Ime = 'Naslov’ /> \
                              <FieldRef Ime = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Mapa>http://demoserver1/Blogging Scenariji / popisi / Custom List sa podmape / godine 2006</Mapa> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Tijelo> \
           </soapenv:Omotnica>";

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Beskrajno Gniježđenje <div> Oznake i Jquery

Ovo se čini kao takvog otkačen temu, Nisam siguran da je stvarno vrijedno bloganje o, ali to nikada me zaustavio prije, pa ovdje mi ići Osmijeh

Radim na projektu gdje sam povlačenjem neke podatke iz pretraživanja, to pakiranje se u XML poruke, a zatim da je XML konačnici se pretvara u HTML-u preko XSLT.  Postoji puno jQuery uključeni, jedan malo koji implementira neke tabbing funkcionalnost.  Kad kliknete na kartici (stvarno, a <div>), jQuery zaziva. skrivanje() a. serija() na raznim divs (početna stranica učitavanje preuzima sav sadržaj tako da ne postoje postbacks u ovom slučaju).

Gomila sati prije, Kartica prebacivanje logika počeo ponašati neizvjesno, a to ne bi pokazati jedan od mojih karticama.  I u konačnici to trag na činjenicu da Internet Explorer (barem) Mislio da je <div> tags uklopljeni sada, daleko dublje od intended.The developer alatnoj traci će se prikazati:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-Napokon pokazuje da je zatvorena skroz ovdje dolje!

Tako, ako jesam $("# Tab1Content").sakriti(), Također bih sakriti Tab2 a ja nikad ne bi mogla pokazati Tab2 ako nisam također pokazuju TAB1.  Ja kopirati i zalijepiti kôd se u Visual Studio, a to su pokazali sve DIV-a sluznice se lijepo, baš kao što su trebali raditi, izgleda ovako:

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

Pobijedio sam glavom o zid za vrijeme i primijetio da je u aktualnom HTML koda je generiranje puno prazna <div> tags, kao:

<tijelo>

  <div id = "Tab1Content">

    <div id = "ROW1" />
    <div id = "ROW2" />

  </div>

  <div id = "Tab2Content">

    <div id = "ROW1" />
    <div id = "ROW2" />

  </div>

</tijelo>

(Gore je waaaaaaaaaaaay pojednostavni.  Prazne div oznake su totalno vrijede. Neki od mojih <div> tags bili puni sadržaj, , ali mnogo više nije bilo.  Došao sam do spoznaje da je moja <XSL:za-svakog> Smjernice su emitiranjem na kratki upitnik div oznake kada XSL:za-jedni nije 'naći nikakve podatke.  Sam prisiljen HTML komentar na izlazu, kao što je prikazano:

image

 

Nakon što sam to učinio, Svi div je postrojilo se lijepo i moja kartica prebacivanje počeo raditi.

Kao i uvijek, Nadam se da ovo pomaže netko u slučaju krajnje nužde.

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Ipak Više jQuery–Stanovati primjer slike

Sam naslijedila web dio od klijenta stare dobavljača i ima problema veličini slike.  Slike trebaju biti 60×50 ali iz nekog razloga ak, izvorni dobavljač ih je natjerao u 42×42, tako da izgledaju squashed:

 

Dobra slika

Bad Slika

Evo označavanje (nešto pojednostavljeno):

<table Class = 'proširenog izgledi'>
  <thead>
    <tr>
      <th  width = '100′>3 Utorak</th>
    </tr>
  </thead>

  <tbody>
    <tr class = 'prognoza'>
      <td width = '100′>
        <Ulica>
          <li class = "high">Visok: 72&vi;F</Li>
          <li class = 'niska'>Nisko: 44&vi;F</Li>
          <Li Class = 'stanje'>Sunčan
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ width = '42’ height = '42’ alt =” />
          </Li>
        </Ulica>
      </td>
    </tr>

  </tbody>

</stol>

Ćete primijetiti da, iako Put do same slike pokazuje pravilnu dimenziju (60×50) izvorni dobavljač je prisiljen u 42×42.  Zašto?  Lud.

U svakom slučaju, Htjela sam brzo i jednostavno rješenje za ovaj problem i okrenuo sam se jQuery.  Trik je pronaći sve potrebno <img> oznake.  Nisam želio da Ljenčariti s bilo kojim drugim IMG tagova (od kojih su mnogi).  Ovo malo jQuery je trik:

<skripta type = "text / javascript" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></skripta>

<skripta type = "text / javascript">
     $(dokument).spreman(funkcija () {

         $(‘li.condition > IMG ').svaki(funkcija (indeks, stavka)
           
{
             $(stavka).css("Širina", "60"); 
             $(stavka).css("Visina", "50");
            });
     }); // na dokumenta opterećenja
</skripta>

To malo koda pronalazi zbirka <Li> tags čija klasa je "stanje" i <img> djeca.  Tada ponovi kroz sve to.  Izrađen poput milina.

Vjerojatno sam mogao pojednostaviti, ali nikada nisam bio tip čovjeka koji je riješio Unix π na 18 znamenke preciznost pomoću Sed i awk i nisam takav tip, ako jQuery bilo Osmijeh.

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Preuzmite kontrolu nad svojom OK i Cancel gumba

Napisao sam ovaj članak dok je povratak, ali izgleda da nisam link na njega iz mog bloga na vrijeme, pa ovdje ide:

image

Ovaj članak opisuje kako prisiliti newform.aspx preusmjeriti na jednu stranicu kad korisnik klikne OK i drugu stranicu kad klikne cancel.

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Quick Savjet: Dodavanje jQuery bi Moss Publishing Stranice

Kad poboljšanje Moss izdavačke stranice koristeći jQuery, I pogodio sljedeće brzine džomba:

Server Error in ‘/’ Primjena.


Parser Greška

Opis: Došlo je do pogreške tijekom sintaktičke analize nekog resursa potrebnih za servisiranje ovaj zahtjev. Molimo pregledajte sljedeće specifične detalje parse pogreške i mijenjati svoju izvornu datoteku na odgovarajući način.

Parser Poruka o pogrešci: Samo Upravljanja sadržajem dopušteno izravno na stranici koja sadrži sadržaj kontrole.

Izvor Greška:

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

Izvorišna datoteka: /_catalogs / masterpage / KCC_FacultyMember.aspx    Linija: 12


Verzija informacije: Microsoft. NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927

Bilo je lako popraviti (h / t na mom kolegi, Uday Ethirajulu).  Budite sigurni da je jQuery kod živi unutar "PlaceHolderAdditionalPageHead" kao što je prikazano:

<trepetljika:Sadržaj ContentPlaceholderID = "PlaceHolderAdditionalPageHead,,en,runat = "server",,en,type = "text / javascript,,en,src = "/ jQuery / jQuery 1.4.min.js",,en" runat="server">

<skripta

    type="text/javascript"

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

</skripta>

<skripta type = "text / javascript">

  $(dokument).spreman(funkcija() {

   // Brilliant jQuery stvari ide ovdje.

   });

</skripta>

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin