这是另一个帖子中的我 系列 有关如何使用 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 表单中. 如果你知道, 请张贴评论.
</结束>
跟我在 Twitter 上 http://www.twitter.com/pagalvin
嗨保罗,
聪明的变通办法 Paul Culmsee 写了一篇有关完全相同的问题 (找到正确的 TR 隐藏字段) 使用纯 JavaScript, jQuery 不. 他发现找到 TR 隐藏通用方法, 它是在此李承鹏末尾 : http://www.cleverworkarounds.com/2008/02/07/more-sharepoint-branding-customisation-using-javascript-part-1/
希望它可以帮助,
乔纳森 ·
pingback的: 隐藏其他值基于 SharePoint 编辑表单中的字段 « jbmurphy.com