2012-10-10 132 views
0

我正在研究一個較大的項目,並提出了一個想法,我似乎無法使用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();

線較短的方式我只是真的想要一個乾淨的方式說隱藏在這一節除了......

+0

什麼是「除..... .....」? – j08691

+0

我想說的是「隱藏#sectionOne中除#text_124和#txt_126之外的所有字段,或者顯示所有字段,或者隱藏除 – user1176783

回答

1

你可以做,

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

關於除選項,
我認爲它能夠更好地選擇其中E通過對所有要隱藏的元素應用公共類來隱藏。

+0

Prem - 我認爲我需要走這條路線,但它似乎並沒有爲我工作。上面只是說 - 隱藏字段中的所有輸入類型字段與sectionOne的ID? – user1176783

+0

Got它工作。非常感謝。 – user1176783

1

爲什麼不隱藏節本身?

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

,如果你真的想隱藏的內容,用它來實現這一

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

之外的所有字段,但我需要顯示某些字段並隱藏其他字段。 – user1176783

0

一種方式是一類適用於輸入。

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

您還可以添加一些額外的功能......注:不知道您打算如何顯示的東西...

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

等等...

0

一類添加到輸入,

<input class ='inputs'> 

使用jQuery: $( 「輸入」。)隱藏();

+0

class屬性對於這樣的需求非常有用 – fatiDev