隐藏特定部分/字段集中的所有字段

时间:2012-10-10 16:37:06

标签: jquery

我正在开发一个更大的项目并提出一个想法,我似乎无法使用jquery工作。客户有网络表格。表单上有一个下拉字段,这将使某些部分/ fieidset在选择时显示并消失。我明白了,但是客户希望根据从下拉列表中选择的类型显示或不显示这些部分中的某些字段。

我的想法 - 我想隐藏某个部分中的所有字段是否可以隐藏此部分中的所有字段,除了。

所以例如:

<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 个答案:

答案 0 :(得分:1)

为什么不隐藏该部分本身?

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

如果您确实要隐藏内容,请使用

$('#sectionOne legend,input,select,textarea').slideUp();

答案 1 :(得分:1)

你可以,

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

关于选项除外,
我认为最好通过将一个公共类应用于要隐藏的所有元素来选择要隐藏的元素。

答案 2 :(得分:0)

实现此目的的一种方法是将一个类应用于输入。

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

你还可以添加一些额外的功能......注意:不确定你打算如何展示......

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

答案 3 :(得分:0)

为该输入添加一个类

<input class ='inputs'>

使用jquery:  $(&#34; .inputs&#34)。隐藏();