0

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

我的想法 - 我想隐藏一个部分中的所有字段有没有办法说隐藏这个部分中的所有内容,除了。

例如:

<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();

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

于 2012-10-10T16:51:06.620 回答
0

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

$("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 回答
0

向该输入添加一个类,

<input class ='inputs'>

使用 jquery : $(".inputs").hide();

于 2012-10-10T16:53:37.383 回答