Tag Archives: jQuery

XSLT- ja jQuery proovid

Olen teinud palju XSLT-jQuery ja arvasin, tahaksin jagada mõned pikad, et teised võivad leida kasulik tulevikus.

Näide 1: Paisata lihtne JavaScript / jQuery XSLT-s:

<XSL-i:malli vaste = "midagi" XML-i:Kosmos = "Säilita">

  <!– Tühja välja päringu sõbralik filtrid peidetud väli –>
  <script type = "tekst/javascript">
    $(dokumendi).valmis(funktsioon(){
      $("#QueryFriendlyFilters").Val("tühi");
    });
  </skripti>

</XSL-i:Mall>

Et natuke kiirgab mõned JavaScript, mis ootab lehe laadimise lõpetamiseks (Kuna selle $(dokumendi).valmis(…)) ja siis seab peidetud välja väärtus nimega QueryFriendlyFilters sõnasõnaline väärtusele "tühi".

Näide 2: Kasutamine <XSL-i:Kui> kontrollida "suurem kui",  "väiksem kui", jne.

<XSL-i:malli vaste = "midagi" XML-i:Kosmos = "Säilita">

  <div id = "fdcAllFilters">
 
    <XSL-i:Kui test="@Count>0">
      <span class = "fdcFilterLabel">Praegused filtrid:</span>
    </XSL-i:Kui>

    <!– rohkem asju juhtub siin. –>

</XSL-i:Mall>

Ülaltoodud väljavõte kontrollib, kas atribuut nimega "Loendamine" elemendi "midagi" on suurem kui null.  XML-i taga, see oleks midagi sellist:”

<midagi Count = "5" />

Näide 3: Itereerima läbi kõik elemendid, Interspersing jQuery kõned.

<!– Itereerima läbi kõik filtrid ja kuvatakse õige  lingid. –>
<XSL-i:iga valige = "UserFilter">

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

  <span class = "fdcFilterLabel"><XSL-i:Hinna-ja select="@FilterValue"/></span>

  <script type = "tekst/javascript">

    $(dokumendi).valmis(funktsioon(){
        <XSL-i:teksti><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL-i:teksti>\"<XSL-i:Hinna-ja select="@FilterValue"/>\"<XSL-i:teksti><![CDATA["));]]></XSL-i:teksti>
    });

  </skripti>

</XSL-i:puhul iga>

Ülaltoodud väljavõte on kõige keerukam ja seal võib olla lihtsam seda teha.

XML-i selle taga näeb umbes välja selline:

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

Selle koodijupi iterating kaudu <UserFilter> sõlmed. 

Kõigepealt paiskab ankur tag, mis klõpsamisel tugineb JavaScript funktsioon, mis on juba lehel, "mySubmitPage" ja läbib atribuudi väärtuse ning <UserFilter> sõlme nimega "ID". 

See kiirgab siis mõned jQuery, mis ootab lehe laadimine.  Et jQuery uuendab peidetud väli nimega "QueryFriendlyFilters" FilterValue atribuudi väärtust lisades.  Märkus kõik hull <XSL-i:teksti> ja <![CDATA[ … ]]> kraam.

See on see, Loodan, et see aitab!

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Lists.asmx, GetListItems ja kaustad

Ma tegin mõned uuringud keegi täna ümber osa SharePointi list.asmx veebiteenus 2010 (ja varem).  Ta suutis saada loendiüksuste root kausta (sealhulgas alamkatalooge nimed), aga ei suutnud saada punkte linnas alamkatalooge.  Ma tegin mõned vaadates selle internets ja on üllatavalt üldine küsimus.  Veel, Ma ei saanud hea vastata lihtsale küsimusele, "kui ma tean kaust, Kuidas saada üksused kausta?”  Kui aus olla, Ma ei proovi nii kõvasti, sest mõnda aega olen tahtnud näitaja see üks läbi minu oma naeratus.

Selle seadistama, Olen loonud saidi nimega "Blogging stsenaariumid" ja kohandatud loend nimega "Kohandatud loend koos Sub kaustad".  Siis ma loonud kausta nimega:

  • Aasta 2005
  • Aasta 2006
  • Aasta 2007

Lisasin mõned üksused kausta "aastal 2006".  See on, kuidas see välja näeb:

image

Mu sõber ei ole C# koodi aga pigem kasutades Java, nii oli SEEP ümbrik, mida ta tegelikult vaja.  Saada, et, Kirjutasin natuke jQuery ja saada tegelik HTTP vestlus viiuldaja harjunud.

Siin on asjakohane jQuery (I kopeeritud kood ette allpool kui soovite kopeeri/kleebi):

image

Nad esimene võti on nii a <queryOptions> ja <QueryOptions> sõlme.  Teine võti on see, et selle <Kausta> sõlm on URL, millele kliendil on juurdepääs.

Võib esineda muid võimalusi saada see, Aga see töötas hästi minu jaoks, kasutades jQuery.

Siin on SEEP eraldati eespool:

<soapenv:Ümbrik xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Keha>
    <GetListItemid oleksid xmlns =’
http://schemas.microsoft.com/SharePoint/SOAP/’>
      <listName>Kohandatud loendi alamkaustadena</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef nimi = "pealkiri’ />
          <FieldRef nimi ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Kausta>
http://demoserver1/Blogging Stsenaariume/loendid/kohandatud loendi Sub kaustad/aasta 2006</Kausta>
        </QueryOptions>
      </queryOptions>
   
</GetListItemid oleksid>
  </soapenv:Keha>
</soapenv:Ümbrik>

Palju näiteid ja arutelu selle ümber viinud mind uskuma, et kõik, mida mul vaja oli <QueryOptions> ja määrake kausta nimi.  Minu jaoks, Mul on vaja nii murrab ta sees <queryOptions> Samuti saate määrata täielik URL on <Kausta> sõlm.

Siin on jQuery AJAX seadistamine:

$(dokumendi).valmis(funktsioon() {
       var soapEnv =
           "<soapenv:Ümbrik xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Keha> \
                    <GetListItemid oleksid xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
                       <listName>Kohandatud loendi alamkaustadena</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef nimi = "pealkiri’ /> \
                              <FieldRef nimi ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Kausta>http://demoserver1/Blogging Stsenaariume/loendid/kohandatud loendi Sub kaustad/aasta 2006</Kausta> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItemid oleksid> \
               </soapenv:Keha> \
           </soapenv:Ümbrik>";

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Lõputult pesitsevate <DIV> Sildid ja jQuery

See tundub nagu oddball teema, Ma ei ole kindel, see on tõesti väärt blogging umbes, kuid see on lõpetanud kunagi mind enne, nii et siin me minna naeratus

Olen töötanud kui olen tõmmates mõned andmed otsingu projekti, pakendi XML-sõnum ja seejärel selle XML-I on lõppkokkuvõttes valitsevaks HTML XSLT kaudu.  JQuery palju on seotud, üks bitiseid mis rakendab tabbing funktsioone.  Kui klõpsate vahekaardil (Päriselt, a <DIV>), jQuery tugineb .hide() ja .show() erinevate DIVd kohta (Alglehekülg koormuse laadib alla kogu sisu nii, et puuduvad käesolevas asjas puudub postbacks).

A bunch of hours ago, loogikast vahetamise vahekaarti hakanud käituma tavapärasest korrapäratult ja see ei kuva üks minu vahekaardid.  Lõpuks jälitatud see asjaolu kuni selle internet explorer (vähemalt) et mõelnud ning <DIV> pesastatud palju silte, palju sügavamal kui ette nähtud.Näitaks tootearendajate tööriistariba:

-<DIV id = "Tab1Content">
  -<DIV>
    -<DIV>
      -<DIV id = "Tab2Content">
        -<DIV>
           …………………………
                   </DIV>  <— Lõpuks näitab see oli suletud kogu tee alla siit!

Nii, Kui ma tegin a $("# Tab1Content").Peida(), Ma oleks peita ka Tab2 ja ma ei ole kunagi näidata Tab2 kui ma ka ei näidata Tab1.  Kopeerimisel ja kleepimisel kood visual studio ja see kõik on div hõõrdkatte kuni ilusti näitas, just nagu nad pidid teed, vaadates nagu see:

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

I võita minu pea vastu seina mõnda aega ja märganud tekitava kood oli tegelik HTML tühi palju <DIV> Sildid, nagu:

<keha>

  <DIV id = "Tab1Content">

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

  </DIV>

  <DIV id = "Tab2Content">

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

  </DIV>

</keha>

(Eespool nimetatu on ülelihtsustatud waaaaaaaaaaaay.  Tühi div-siltide täielikult kehtivad. Mõned minu <DIV> sildid on täis sisu, kuid ei olnud palju rohkem.  Ma tulin realiseerimaks et minu <XSL-i:puhul iga> direktiivides olid kiirgava lühi-vormi div tags kui ka XSL-i:puhul iga ei "leia mingeid andmeid.  HTML-I kommentaar sunnitud toodangu, nagu on näidatud:

image

 

Pärast tegin, et, kõik div märkeruutudele ilusti ja vahekaarti vahetamine hakanud.

Nagu alati, Ma loodan, et see aitab keegi in a ahtaalla.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Veel rohkem jQuery–Näide pildi suuruse muutmine

Veebiosa päritud kliendi vana hankija ja see on probleem graafika suurus.  Pildid peaksid olema 60×50 kuid mõned veider põhjus, esialgse tarnija sundis neid 42×42, nii et nad näevad kokkupigistatud:

 

Hea pilt

Halb pilt

Siin on märgistus (mõnevõrra lihtsustatud):

<Tabel klassi = "extended-outlook">
  <thead>
    <TR>
      <th  laius = "100′>3 Teisipäev</th>
    </TR>
  </thead>

  <tbody>
    <TR klassi = "prognoos">
      <TD laius = "100′>
        <UL>
          <Li klassi = "kõrge">Kõrge: 72&kraadi;F</Li>
          <Li klassi = "madal">Madala: 44&kraadi;F</Li>
          <Li klassi = "tingimus">Päikeseline
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/EN/trans/cond007.png’ laius = "42’ kõrgus = "42’ alt =” />
          </Li>
        </UL>
      </TD>
    </TR>

  </tbody>

</Tabel>

Sa pead tähele, et kuigi Euroopa tee pilt ise kuvatakse õige mõõt (60×50) esialgse tarnija sunnitud 42×42.  Miks?  Hull.

Igatahes, Tahtsin kiire ja lihtne lahendus sellele probleemile ja keerasin jQuery.  Trikk oli leidma kõik asjakohased <img> Sildid.  Ma ei tahtnud sopp img siltidega (mida on palju).  See natuke jQuery ei trikk:

<script type = tekst/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></skripti>

<script type = "tekst/javascript">
     $(dokumendi).valmis(funktsioon () {

         $(' li.condition > img ").iga(funktsioon (indeks, kauba)
           
{
             $(kauba).CSS("laius", "60"); 
             $(kauba).CSS("kõrgus", "50");
            });
     }); // dokumendi laadimisel
</skripti>

See natuke koodi leiab kogumine <Li> Sildid, kelle klassis on "seisund" ja <img> lapsed.  Ta kordab siis kõik see läbi.  Töötas nagu võlu.

Ma oleks ilmselt sujuvamaks, Aga ma ei ole kunagi olnud üks selline unix mees, et lahendada π et 18 numbrite täpsus sed ja awk ja ma ei ole sellist kui jQuery mees kas naeratus.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Võtta kontrolli oma OK ja Tühista nupud

Ma kirjutasin käesoleva artikli mõnda aega tagasi, Aga paistab, et ma ei lingi minu blogist ajal, nii läheb lahti:

image

Käesolevas artiklis kirjeldatakse, kuidas sundida newform.aspx suunata üks lehekülg, kui kasutaja klõpsab nuppu OK ja teisele lehele, kui ta klõpsab nuppu Loobu.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Quick Tip: MOSS avaldamislehed jQuery lisamine

Kui suurendada SAMMAL publising lehekülge kasutades jQuery, Ma tabas kiiruse keemistsentrid:

Serveri tõrge ' /’ Taotlus.


Parseri tõrge

Kirjeldus: Selle päringu teenindamiseks vajalik ressurss sõelumisel ilmnes tõrge. Palun vaadake konkreetse sõelumise tõrke üksikasjad ning muutke lähtefailist asjakohaselt.

Parser tõrketeade: Üksnes sisu juhtelemendid on lubatud otse sisu leht, mis sisaldab sisu juhtelemendid.

Allikas viga:

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

Lähtefaili: /_catalogs/masterpage/KCC_FacultyMember.aspx    Rida: 12


Versiooni info: Microsoft .NET Frameworki versiooni:2.0.50727.4927; ASP.net-i versioon:2.0.50727.4927

See oli lihtne parandada (h/t kolleegiga, Uday Ethirajulu).  Veenduge, et jQuery kood elab sees "PlaceHolderAdditionalPageHead" nagu näidatud:

<ASP:Sisu ContentPlaceholderID = "PlaceHolderAdditionalPageHead" runat = "server">

<skripti

    Type = tekst/javascript""

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

</skripti>

<script type = "tekst/javascript">

  $(dokumendi).valmis(funktsioon() {

   // Geniaalne jQuery värk läheb siia.

   });

</skripti>

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin