Dit is een andere post in mijn aan de gang zijnde reeks over hoe te gebruiken jQuery met SharePoint.
Als u wilt meer weten over jQuery, I recommend highly: jQuery in actie door Bear Bibeault en Yehuda Katz.
Eerder, Ik schreef over het gebruik van jQuery te vinden en een tekstveld op een formulier verbergen. Ik niet de zorg voor de specifieke aanpak (Ik was het koppelen van ouders – dat is gewoon niet gedaan deze dagen, ten minste in families van kwaliteit).
Toen ik voor het eerst begonnen na te denken over het, Ik wist dat ik moest vinden een <TR> waarnaar kan ik beroepen op de huid() methode. Mijn vroege poging om te vinden de juiste <TR> was iets als dit:
$(' tr:heeft(input[titel = verbergen Me!])');
Het probleem met dat is dat het zou vinden elke <TR> label die had een bovenliggende relatie met de Verberg Me! veld, zelfs als verbergen Me! is genest vele niveaus diep in <TR>is. Het blijkt dat op mijn sandbox-vorm, die uitdrukking vindt 9 verschillende TR hebben verbergen Me! Als een kind ergens in de DOM-structuur. Ik realiseerde me dat ik back-up van de boom van het invoerveld zelf lopen kon, dus dat is hoe ik beëindigde omhoog misbruik van ouders, maar het niet zitten goed met mij.
Ik gaf wat gedachte aan dit en een van de dingen die ik lees ten slotte zinvol: Ik kon het niet gebruiken() methode om trim uit <TR>is dat ik wil niet in mijn verpakt set. Dat leidde me naar dit:
$(' tr:heeft(input[titel = verbergen Me!])').niet(' tr:heeft(tr)').verbergen();
De eerste bit vindt alle de <TR> Tags die de huid Me hebben! veld overal in hun eigen hiërarchie. Het dan strips uit <TR> die hebben ook een kind <TR>. Dit laat ons met een honkslag <TR> die:
1) Heeft geen <TR> onderliggende records
2) Heeft het invoerveld als kind.
We kunnen vervolgens de verbergen toepassen() methode om de resulterende ingesteld en we zijn klaar.
Ik ben nog steeds een beetje zenuwachtig over dit, maar niet zo zenuwachtig als ouders chaining.
Ik weet niet of dit een beste praktijk, of niet is. Kan er een meer geschikte manier van identificatie alleen de <TR> dat we de zorg over in een SharePoint-formulier. Als u weet, post een reactie.
</einde>
Volg mij op Twitter op http://www.twitter.com/pagalvin
Hallo Paul,
Paul Culmsee van slimme oplossingen schreef een artikel over precies hetzelfde onderwerp (vinden van de juiste TR een veld verbergen) met behulp van gewone JavaScript, niet jQuery. Hij vond een universele manier om te vinden de TR te verbergen, het is aan het einde van deze blogpost : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
hoop dat het helpt,
Jonathan
Pingback: Een veld in een formulier voor het bewerken van SharePoint op basis van andere waarden verbergen « jbmurphy.com