これは別のポストには私 シリーズの予定 使用方法 jQuery SharePoint と.
JQuery についてもっと学びたい場合, 私は非常にお勧め: 『 jQuery in Action クマ Bibeault、イェフダー Katz による.
以前, JQuery を使用して検索し、フォームのテキスト フィールドを非表示にする方法について書きました. 特定のアプローチのため気にしませんでした。 (-それは単に両親が連鎖されたこれらの日を行われていません。, 少なくとも品質な家族).
最初それについて考え始めたとき, 見つけるために必要を知っていた、 <TR> 私は、非表示を呼び出す可能性があります。() メソッド. 正しいを見つける私の早めの努力 <TR> このようなものだった:
$(' tr:が(入力[タイトル = 私を非表示!])');
それの問題は、それを見つけるだろうすべて <TR> タグを非表示に任意の親の関係を持っていた私! フィールド, 私も非表示にします。! 多くのレベル深い入れ子になっています。 <TR>の. それが私のサンド ボックスのフォームに判明します。, その表現が見つかった 9 異なる TR を持っている私を隠す! その DOM ツリーのどこかの子として. 入力フィールド自体から歩いてツリーをバックアップできることに気づいた, では、親の濫用に終了方法, しかし、私と一緒によく座っていませんでした。.
私はこれにいくつかの考えを与えたし、最後に読んだものの 1 つを成して: Not を使用可能性があります。() メソッドをトリムするには <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/
それに役立ちます願っています,
ジョナサン
ピングバック: その他の値に基づいた SharePoint 編集フォームにフィールドを非表示します。 « jbmurphy.com