Dette er en anden post i mit igangværende serie om hvordan man bruger jQuery med SharePoint.
Hvis du ønsker at lære mere om jQuery, Jeg kan varmt anbefale: jQuery i aktion af Bjørn Bibeault og Yehuda Katz.
OPDATERING (allerede!): Jeg tror på en bedre måde at finde den <TR> Tag jeg ønsker at skjule og skrev om det her. Du kan stadig finde denne artikel interessant alligevel så jeg leavnig det op.
Jeg ønsker at skjule et tekstfelt, "Skjul mig!"som vist:
De følgende jQuery gør tricket for mig:
<script type ="text/javascript"> $(funktion() { $(' input[titel = skjule mig!]').forælder().forælder().forælder().Skjul(); }); </script> |
Koden er at sige, "find mig alle input felter Hvis titel = skjule mig!. Derefter, få sin overordnede og derefter næste forælder og den * næste * overordnede (Pyha!) og påberåbe sig Skjul() metode på at ting, hvad det sker for at være.
Jeg regnede ud at overordnede struktur ved at få vist HTML-koden for formularen, SharePoint oprettes som vist:
<TR> <TD nowrap= "true" VAlign= "top" bredde= "190px" klasse= "ms-formlabel"> <H3 klasse= "ms-standardheader"> <nobr>Skjule mig!</nobr> </H3> </TD> <TD VAlign= "top" klasse= "ms-formbody" bredde= "400px"> <!-- FieldName = "Skjul mig!" FieldInternalName = "Hide_x0020_Me_x0021_" FieldType = "SPFieldText" --> <span dir= "ingen"> <input Navn= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField" type= "tekst" MaxLength= "255" id= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" titel= "Skjul mig!" klasse= "ms-lange" /> <br> </span> </TD> </TR> |
Dette billede viser det samme, men markeret med forældrene:
Det første overordnede (1) er en span-kode. Spans overordnede (2) er TD tag og så endelig får vi til virkelige forældre jeg ønsker at skjule (3) der er TR-tag selv.
Dette er en temmelig forfærdeligt tilgang, jeg tror, fordi det er ekstremt afhængige af meget specifikke strukturen af denne formular. Når SharePoint 2010 kommer ud, denne hele struktur kunne ændre og bryde denne tilgang. Hvad jeg virkelig ønsker at gøre er håndværk en jQuery selector, der går i retning af "find mig alle TR (og eneste TR tags) der har et eller andet sted i deres underordnede elementer et inputfelt hvis titel = skjule mig!”. Jeg starter fra bunden og bevæger sig op. Antager jeg regne det ud, Jeg vil sende en opdateret "hurtig og nem ' post.
</slutningen>
Følg mig på kvidre på http://www.twitter.com/pagalvin
Hvad med denne fremgangsmåde for at finde overordnet tr? Første node i samlingen af forfader noder, der er tr elementer, resulterer i den nærmeste overordnede tr.
.forældre("tr:første")