Snabb och enkel: Ett bättre sätt att använda jQuery att dölja ett textfält i ett SharePoint-formulär

Detta är en annan post i min pågående serie om hur du använder jQuery med SharePoint.
Om du vill veta mer om jQuery, Jag rekommenderar: jQuery i aktion av Björn Bibeault och Yehuda Katz.

Tidigare, Jag skrev om hur du använder jQuery att lokalisera och dölja ett textfält i ett formulär. Jag brydde mig för det specifika tillvägagångssättet (Jag kedja föräldrar – det är helt enkelt inte gjort dessa dagar, åtminstone i familjer med kvalitet).

När jag först började att tänka på det, Jag visste att jag behövde till finna en <TR> som jag kunde åberopa Dölj() metoden. Min tidiga försök att hitta rätt <TR> var ungefär så här:

$("tr:har(input[titel = gömma mig!])');

Problemet med det är att det skulle finna varje <TR> tag som hade någon överordnad relation till gömma mig! fältet, även om gömma mig! är kapslade många nivåer djupt i <TR>'s. Det visar sig att min sandlåda formuläret, Detta uttryck finner 9 olika TR som har gömma mig! som ett barn någonstans i sin DOM-trädet. Jag insåg att jag kunde gå tillbaka upp trädet från fältet sig, så det är hur jag hamnade missbrukar föräldrar, men det sitta inte bra med mig.

Jag gav en tanke till detta och en av de saker jag läser slutligen är meningsfullt: Jag kunde använda inte() metoden att trimma ut <TR>: s jag inte vill ha i min inslagna som. Som ledde mig till detta:

$("tr:har(input[titel = gömma mig!])').inte("tr:har(TR)').Dölj();

Den första biten hittar alla de <TR> Taggar som har gömma mig! fältet var som helst i deras egen hierarki. Det sedan remsor ut någon <TR> Det har också ett barn <TR>. Detta lämnar oss med en enda <TR> som:

1) Har ingen <TR> underordnade poster

2) Har fältet som barn.

Vi kan sedan använda Dölj() metod att den resulterande och vi är klar.

Jag är fortfarande lite nervös om detta, men inte lika nervös som kedja föräldrar.

Jag vet inte om detta är en bästa praxis eller inte. Det kan vara ett mer lämpligt sätt att identifiera just den <TR> att vi bryr oss om i en SharePoint form. Om du vet, Vänligen skriv en kommentar.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

2 tankar på "Snabb och enkel: Ett bättre sätt att använda jQuery att dölja ett textfält i ett SharePoint-formulär

  1. Pingback: Dölja ett fält i SharePoint Redigera formulär som baseras på andra värden « jbmurphy.com

Lämna svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *