Това е друга длъжност в моя текущи серии Как да използвате jQuery с SharePoint.
Ако искате да научите повече за jQuery, Аз силно препоръчвам: jQuery в действие да носят Bibeault и Йехуда Катц.
По-рано, Аз написах за как да използвате jQuery да намерите и да се скрият текстово поле на формуляр. Аз не се грижи за специфичен подход (Е верижното родители – това е просто не е направил тези дни, най-малко в семействата на качеството).
Когато започнах да мисля за това, Знаех, че трябваше да се намери <TR> към която да извика Скрий() метод. Моите ранни усилия да намерим правилния <TR> е нещо подобно:
$("tr:има(вход[Заглавие = Скрий ме!])');
Проблемът с това е, че той ще намери всеки <TR> етикет, които са имали някакви майка връзка към Скрий ме! поле, дори ако Скрий ме! е вложен дълбоко в много нива <TR>снимки на. Оказва се, че в моя формуляр, пясък, този израз намира 9 различни TR, които имат Скрий ме! като дете някъде в дървото си дом. Разбрах, че мога да ходя обратно на дървото от полето за въвеждане, самата, така че това е как се стигна до злоупотреба с родителите, но това не седи добре с мен.
Аз дадох някои мисли за това и едно от нещата, които прочетох накрая имаше смисъл: Да използвам не() метод, за да отрежете <TR>е, аз не искам в моята стая и опаковани. Това ме доведе до това:
$("tr:има(вход[Заглавие = Скрий ме!])').не("tr:има(TR)').Скрий();
Първата малко намира всички <TR> Тагове, които са Скрий ме! поле навсякъде в своя йерархия. То тогава ленти някоя <TR> Това също има дете <TR>. Това ни оставя с едно <TR> Това:
1) Не е <TR> подчинени записи
2) Има поле за въвеждане като дете.
Ние след това да приложите кожа() метод, за да води и сме готови.
Аз все още съм малко нервен за това, но не толкова нервна, верижното родители.
Не знам дали това е добра практика, или не. Може да има по-подходящ начин за идентифициране само <TR> че ние се грижим за в SharePoint форма. Ако знаете, Моля публикувате коментар.
</край>
Следвайте ме на Twitter в http://www.twitter.com/pagalvin
Здравей Пол,
Пол Culmsee на умен Workarounds пише статия за точно същия проблем (намирането на правилния TR да скриете поле) с помощта на обикновен JavaScript, не jQuery. Той намери един универсален начин за намиране на TR да се скрие, Това е в края на този blogpost : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
надежда, той помага,
Джонатан
Pingback: Скриване на поле в SharePoint редактиране формуляр, базиран на други стойности « jbmurphy.com