4

次の1行のテキストフィールドを含むSharePointリストがあります:Title、、。デフォルトの表示フォームでテーブルの行を非表示にできるようにしたい。JavaScriptスクリプトを作成し、それをDispForm.aspx内のコンテンツエディターWebパーツに配置する必要があることを知っています。YearType or LocationType or Location

Type or Location私はjQuery構文に精通していないため、コードのヘルプが必要です。つまり、フィールドとその値を含むテーブル行を参照する方法がわかりません。これが私がこれまでに行ったことですが、機能しません:

jQuery(document).ready(function($) {
   $("input[title='Type or Location']").closest("tr").hide();
});

私はその"input[title='Type or Location']"部分が間違っていることを知っています。少なくとも私はそれだと思います。誰か助けてもらえますか?ありがとうございました。

4

6 に答える 6

10

試す:

jQuery(document).ready(function($) {
   $("h3.ms-standardheader:contains('Type or Location')").closest("tr").hide();
});
于 2012-04-04T15:12:38.453 に答える
2

そのためにjQueryを使用する理由がわかりません。SharePointでは、フィールドを必須、オプション、または非表示にすることを選択できます。ほとんどの場合、非表示に切り替えるだけで問題が解決します。

ちなみに、jQuery(document).readyの使用はできるだけ避けようとしています。これは、SharePointのすぐに使用できるonloadイベントと競合する可能性があります。あなたの場合、それは必要ありません。

更新:jQueryでこれを行う方法は次のとおりです。

$("td.ms-formlabel:contains('Type or Location')").parent().hide();
于 2012-04-04T16:40:11.160 に答える
0

構文は次のようになります。

$("input[title='Type']").closest("tr").hide();

$("input[title='Location']").closest("tr").hide();

それが動作します。

于 2012-05-14T11:34:53.667 に答える
0

この方法で試してください:

jQuery(document).ready(function($) {
   $("input[title='Type'],input[title='Location']").closest("tr").hide();
});
于 2012-04-04T11:52:10.140 に答える
0

タイプiorロケーションがどのタイプの列であるかによって異なります。それが1行のテキストである場合、あなたは近くにいます。入力要素の実際のタイトルを確認するには、IEの開発ツールやFirebugなどのDOMインスペクターを使用する必要があります。

列が別のタイプの場合、入力要素ではない可能性があります。DOMインスペクターを再度使用すると、フィールドコントロールを構成する要素を確認し、そこからセレクターを決定できます。

最後に、スクリプトで物事を隠すことは安全ではないことを忘れないでください。精通したユーザーは、スクリプトをオフにするか、スクリプトを変更して編集できるようにすることができます。それはすべてあなたの要件に依存します。

//更新//ああ、あなたはDispFormと言いました。別の回答で指摘されているように、DispFormには入力要素がありません。セレクターを修正する必要があります。

于 2012-04-04T11:57:08.260 に答える
0

デフォルトの表示フォームだけの場合は、ビューを作成してデフォルトにするのはどうですか?

于 2012-11-20T18:45:20.463 に答える