Questo è un altro post nel mio serie in corso su come utilizzare jQuery con SharePoint.
Se volete saperne di più su jQuery, Mi raccomando: jQuery in azione Orso Bibeault e Yehuda Katz.
In precedenza, Ho scritto su come utilizzare jQuery per individuare e nascondere un campo di testo in un form. Non mi importava per l'approccio specifico (Io stavo concatenamento genitori – questo è semplicemente non è fatto in questi giorni, almeno nelle famiglie di qualità).
Quando ho iniziato a pensarci, Sapevo che avevo bisogno di trovare un <TR> a cui potrei invoco il Nascondi() Metodo.. Il mio sforzo iniziale per trovare il corretto <TR> era qualcosa di simile:
$(' tr:ha(ingresso[titolo = nascondere Me!])');
Il problema è che vuoi trovare ogni <TR> Tag che mi aveva qualsiasi relazione del padre con la pelle! Campo, anche se mi nascondo! è annidato molti livelli di profondità in <TR>s. Si scopre che il mio modulo sandbox, rileva che l'espressione 9 Mi nascondo diverse TR che hanno! come un bambino da qualche parte nel suo albero DOM. Mi sono reso conto che potevo camminare indietro fino all'albero dal campo di immissione, è così che come ho finito per abusare i genitori, ma esso non sta bene con me.
Ha dato qualche pensiero a questo e una delle cose che ho letto finalmente aveva un senso: Potrei usare il non() Metodo per tagliare fuori <TR>s che non voglio nel mio set di wrapping. Che mi ha portato a questo:
$(' tr:ha(ingresso[titolo = nascondere Me!])').non(' tr:ha(TR)').Nascondi();
Il primo bit trova tutte le <TR> Tag che hanno la pelle mi! campo in un punto qualsiasi nella loro gerarchia. Esso poi strisce qualsiasi <TR> che hanno anche un bambino <TR>. Questo ci lascia con un singolo <TR> che:
1) Non ha alcun <TR> record figlio
2) Hanno il campo di input come bambino.
Quindi possiamo applicare il nascondino() Metodo per la conseguente imposta e abbiamo finito.
Io sono ancora un po ' nervoso per questo, ma non nervoso come concatenamento genitori.
Non so se questo è una best practice o non. Ci può essere un modo più appropriato di identificare solo il <TR> che ci interessa in una forma di SharePoint. Se sai, si prega di inviare un commento.
</fine>
Seguimi su Twitter a http://www.twitter.com/pagalvin
Ciao Paolo,
Paul Culmsee di soluzioni intelligenti ha scritto un articolo su esattamente lo stesso problema (trovando la corretta TR per nascondere un campo) utilizzando JavaScript pianura, non jQuery. Ha trovato un modo universale per trovare il TR nascondere, è alla fine di questo blogpost : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
speranza che aiuta,
Jonathan
Pingback: Nascondere un campo in un modulo di modifica di SharePoint basato su altri valori « jbmurphy.com