Il s'agit d'un autre poste dans mon série en cours Comment utiliser jQuery avec SharePoint.
Si vous souhaitez en savoir plus sur jQuery, Je recommande fortement: jQuery in Action par ours Bibeault et Yehuda Katz.
Précédemment, J'ai écrit sur l'utilisation de jQuery pour localiser et masquer un champ de texte sur un formulaire. Je n'aimais pas l'approche spécifique (J'ai le chaînage de parents – c'est tout simplement n'est pas fait ces jours, au moins dans les familles de qualité).
Quand j'ai commencé à penser à elle, Je savais que j'avais besoin de trouver un <TR> à qui je pourrais invoquer la peau() méthode. Mon effort au début pour trouver le bon <TR> a quelque chose comme ça:
$(' tr:a(entrée[titre = Me cacher!])');
Le problème est qu'il trouverait tous <TR> tag qui m'avait une relation de parent à la peau! champ, même si cacher Me! est imbriqué dans plusieurs niveaux <TR>s. Il s'avère que sur mon formulaire de bac à sable, estime que l'expression 9 différents TR qui ont cache Me! comme un enfant quelque part dans son arborescence DOM. J'ai réalisé que je pouvais marcher vers le haut l'arbre de la zone de saisie elle-même, Voilà comment j'ai fini par les parents de maltraiter, mais il n'a pas très bien avec moi.
J'ai donné une pensée à cela et une des choses que j'ai lu enfin fait sens: Je pourrais pas() méthode pour couper des <TR>s que je ne veux pas dans mon jeu de fractionnement. Cela m'a conduit à cette:
$(' tr:a(entrée[titre = Me cacher!])').pas(' tr:a(TR)').cacher();
Le premier bit détecte tous les <TR> balises qui ont la peau Me! champ dans leur propre hiérarchie. Ensuite, elle supprime toute <TR> qui ont aussi un enfant <TR>. Cela nous laisse avec une seule <TR> qui:
1) N'a pas <TR> enregistrements enfants
2) Il a le champ de saisie comme enfant.
Nous pouvons ensuite appliquer la peau() méthode de la valeur et nous aurons fini.
Je suis toujours un peu nerveux à ce sujet, mais pas aussi nerveux que les parents de chaînage.
Je ne sais pas si c'est conseillé ou pas. Il peut y avoir un moyen plus approprié d'identifier simplement le <TR> que nous nous soucions sous une forme de SharePoint. Si vous savez, Veuillez poster un commentaire.
</fin>
Me suivre sur Twitter à http://www.twitter.com/pagalvin
Bonjour Paul,
Paul Culmsee des solutions de contournement intelligent a écrit un article sur exactement le même problème (trouver le TR correct pour masquer un champ) à l'aide de JavaScript simple, pas de jQuery. Il a trouvé un moyen universel pour rechercher le TR à cacher, C'est à la fin de ce billet de blog : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
espérons que cela aide,
Jonathan
pingback: Masquer un champ dans un formulaire de modification SharePoint basé sur d'autres valeurs « jbmurphy.com