Dette er en annen post i min pågående serien om hvordan du bruker jQuery med SharePoint.
Hvis du vil lære mer om jQuery, Jeg anbefaler: jQuery i aksjon Bjørn Bibeault og Yehuda Katz.
Tidligere, Jeg skrev om hvordan du bruker jQuery å finne og skjule et tekst-felt i et skjema. Jeg likte den bestemte tilnærmingen (Jeg var chaining foreldre-det er bare ikke gjort disse dager, minst i familier av kvalitet).
Da jeg først begynte å tenke på det, Jeg visste at jeg trengte å finne en <TR> som jeg starte Skjul() metoden. Min tidlige forsøk på å finne riktig <TR> var noe som dette:
$(' St:har(inngang[tittel = gjemme meg!])');
Problemet med det er at det vil finne hver <TR> kode som hadde en overordnet relasjon til skinnet meg! feltet, Selv om gjemme meg! er nestet mange nivåer dypt i <TR>er. Det viser seg at min sandbox-skjemaet, uttrykket finner 9 forskjellige St som har gjemme meg! som barn sted i sin DOM treet. Jeg innså at jeg kunne gå tilbake opp tre fra input-feltet selv, så det er hvordan jeg endte opp misbruker foreldre, men det sitter ikke godt med meg.
Jeg ga noen trodde dette og en av tingene jeg leste endelig fornuftig: Jeg kunne bruke ikke() metoden for å klippe ut <TR>er jeg ikke ønsker i min pakket sett. Som førte meg til dette:
$(' St:har(inngang[tittel = gjemme meg!])').ikke(' St:har(tr)').Skjul();
Den første bit finner alle de <TR> koder som har gjemme meg! feltet hvor som helst i egne hierarki. Den så strimler ut noen <TR> Det har også et barn <TR>. Dette etterlater oss med en enkelt <TR> som:
1) Har ingen <TR> underordnede poster
2) Har inndatafeltet som barn.
Vi kan da bruke Skjul() metoden å det resulterende satt og vi er ferdig.
Jeg er fortsatt litt nervøs for dette, men ikke så nervøs som kjeding foreldre.
Jeg vet ikke om dette er en beste praksis eller ikke. Det kan være en mer passende måte å identifisere bare de <TR> at vi bryr oss om i et SharePoint-skjema. Hvis du vet, Vennligst legg inn en kommentar.
</slutten>
Følg meg på Twitter på http://www.twitter.com/pagalvin
Hei Paul,
Paul Culmsee til smarte løsninger skrev en artikkel om akkurat det samme problemet (finne riktig TR å skjule et felt) bruke vanlig JavaScript, ikke jQuery. Han fant en universell måte å finne TR å skjule, Det er på slutten av dette innlegget : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
håpe det hjelper,
Jonathan
Pingback: Skjul et felt i et SharePoint redigeringsskjema basert på andre verdier « jbmurphy.com