Це ще один пост в моєму поточної серії про те, як використовувати 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
Привіт Павло,
Paul Culmsee розумний обхідні шляхи написав статтю про те ж питання (знаходження правильного TR, щоб приховати поле) за допомогою простого JavaScript, не jQuery. Він знайшов універсальний спосіб знайти TR, щоб приховати, це в кінці цього blogpost : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
сподіваюся, це допоможе,
Джонатан
Pingback: Приховати поля SharePoint змінити форму, засновану на інших значень « jbmurphy.com