Это еще один пост в моем продолжается серия как пользоваться jQuery с SharePoint.
Если вы хотите узнать больше о jQuery, Я очень рекомендую: jQuery в действии Медведь Bibeault и Иегуда Кац.
Ранее, Я писал о том, как использовать jQuery для обнаружения и скрыть текстовое поле в форме. Я не позаботил для конкретного подхода (Я цепочки родителей – это просто не сделали эти дни, по крайней мере в семьях качества).
Когда я впервые начал думать об этом, Я знал, что мне нужно, чтобы найти <TR> к которому я мог бы вызвать скрыть() метод. Мои ранние усилия, чтобы найти правильный <TR> что-то вроде этого:
$(' tr:имеет(вход[Название = скрыть меня!])');
Проблема с этим является, что он будет найти каждый <TR> тег, что любые отношения родителей к скрыть меня! поле, даже если скрыть меня! Это вложенных много уровней глубоко в <TR>в. Получается, что на моей песочнице формы, Это выражение находит 9 различные TR кто скрыть меня! как ребенок где-то в DOM-дереве. Я понял, что я мог бы ходить обратно вверх по дереву, от самого поля ввода, Так вот, как я в конечном итоге злоупотреблении родителей, но он не сидят хорошо со мной.
Я дал некоторые мысли это и одна из вещей, которые я читал наконец имеет смысл: Я мог бы использовать не() метод для обрезки <TR>на что я не хочу в моем упакованного набора. Это привело меня к этому:
$(' tr:имеет(вход[Название = скрыть меня!])').не(' tr:имеет(TR)').скрыть();
Первый бит находит все <TR> Метки, которые имеют скрыть меня! поле нигде в их собственной иерархии. Он затем полоски из любой <TR> Это также у ребенка <TR>. Это оставляет нас с одной <TR> что:
1) Есть нет <TR> дочерние записи
2) Есть поле ввода, как ребенок.
Мы можем затем применить скрыть() метод для результирующего набора, и мы сделали.
Я все еще немного нервной об этом, но не нервной, как цепочки родителей.
Я не знаю, если это лучше, или нет. Там может быть более подходящим способом идентификации только <TR> Мы заботимся о в формы SharePoint. Если вы знаете, Просьба оставить комментарий.
</конец>
Следуй за мной по щебетать на http://www.twitter.com/pagalvin
Привет Павел,
Пол 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