0

私はより大きなプロジェクトに取り組んでおり、jqueryを使用して作業できないように見えるというアイデアを思いつきました。クライアントには Web フォームがあります。ドロップダウン フィールドはフォーム上にあり、選択すると特定のセクション/フィールド セットが表示され、非表示になります。私はそれを始めましたが、クライアントは、ドロップダウンから選択されたタイプに基づいて、それらのセクション内の特定のフィールドを表示するかどうかを求めています。

私の考え-セクション内のすべてのフィールドを非表示にしたいのですが、このセクションのすべてを非表示にする方法はありますか?

たとえば、次のようになります。

<fieldset name="Group1" id="sectionOne">
                <legend>Section 1</legend>
                <input id="txt_123" type="text" />
                <input id="txt_124" type="text" />
                <input id="txt_125" type="text" />
                <input id="txt_125" type="text" />
                <input id="txt_126" type="text" />
            </fieldset>
</body>

言いたい場合は、#sectionOne ですべてを非表示にします。それから後で、#sectionOne のすべてを非表示にすると言いたいのですが....

任意の数のフィールドを持つ任意の数のセクションがあることを覚えているので、単なる行よりも短い方法が必要です$(#txt_123).hide();/$(#txt_124).show();

このセクションのすべてを非表示にするクリーンな方法が本当に欲しいのですが....

4

4 に答える 4

1

セクション自体を非表示にしないのはなぜですか?

$('#sectionOne').slideUp();

本当に内容を隠したい場合は、

$('#sectionOne legend,input,select,textarea').slideUp();
于 2012-10-10T16:39:50.250 に答える
1

できるよ、

$("fieldset#sectionOne input").hide();

除外オプションについては、
非表示にするすべての要素に共通のクラスを適用して、非表示にする要素を選択する方がよいと思います。

于 2012-10-10T16:51:06.620 に答える
0

その入力にクラスを追加し、

<input class ='inputs'>

jquery の場合: $(".inputs").hide();

于 2012-10-10T16:53:37.383 に答える
0

これを実現する 1 つの方法は、クラスを入力に適用することです。

$("fieldset").find("input").each(function() {
  if ( $(this).hasClass("hidden") ...
});

いくつかの追加機能を追加することもできます...注:物事をどのように表示する予定かわかりません...

$("fieldset").click(function() {
  $(this).find("input").each(function() {
    $(this).click(function() { $(this).removeClass("hidden") });
  });
});

などなど...

于 2012-10-10T16:43:49.157 に答える