Este é outro post no meu en curso serie de uso jQuery co SharePoint.
Se queres saber máis sobre jQuery, Eu recomendo altamente: jQuery en Acción por Bear Bibeault e Katz Yehuda.
Anteriormente, I wrote about how to use jQuery to locate and hide a text field on a form. I didn’t care for the specific approach (Eu estaba pais fío - que é simplemente non se fai nos días de hoxe, polo menos en familias de calidade).
Cando comece a pensar niso, Eu sabía que necesitaba atopar unha <TR> to which I could invoke the hide() método. My early effort to find the correct <TR> era algo así:
$('Tr:ten(entrada[title = ocultar-me!])');
O problema con isto é que ía atopar toda a <TR> tag that had any parent relationship to the Hide Me! campo, Agochar o meu mesmo! está aninhado moitos niveis de profundidade en <TR>’s. It turns out that on my sandbox form, que a expresión atopa 9 TR diferentes das que teñen ocultar Me! as a child somewhere in its DOM tree. I realized that I could walk back up the tree from the input field itself, entón é así que eu acabei pais que abusan, pero non se sente ben comigo.
Eu dei un pouco sobre esta e unha das cousas que lin finalmente fixo sentido: Eu podería usar o non() método para cortar fóra <TR>’s I don’t want in my wrapped set. Isto levoume a este:
$('Tr:ten(entrada[title = ocultar-me!])').non('Tr:ten(tr)').agochar();
O primeiro bit atopa todos os <TR> marcas que teñen a ocultar-me! field anywhere in their own hierarchy. It then strips out any <TR> que tamén ten un neno <TR>. This leaves us with a single <TR> que:
1) Non ten <TR> rexistros fillo
2) Does have the input field as child.
Podemos, entón, aplicar a pel() método para o conxunto resultante e estamos a facer.
Eu aínda estou un pouco nervioso sobre o tema, pero non tan nervioso como os pais fío.
I don’t know if this is a best practice or not. There may be a more appropriate way of identifying just the <TR> that we care about in a SharePoint form. If you know, por favor publicar un comentario.
</final>
Siga-me no Twitter http://www.twitter.com/pagalvin
Ola Paulo,
Paul Culmsee de solucións intelixentes escribiu un artigo sobre exactamente o mesmo problema (atopar a TR correcto para ocultar un campo) empregando Javascript simple, non jQuery. El atopou unha forma universal para atopar a TR para ocultar, é a finais deste blogpost : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
espero que axude,
Jonathan
Pingback: Esconder un campo en un formulario de edición SharePoint baseada noutros valores « jbmurphy.com