कुछ अलग अलग तरीकों से आप यह कर सकते हैं। सबसे सरल फ़ील्ड होने के लिए सबसे सरल है, प्रत्येक में फ़ील्ड का एक समूह होता है। फिर, jQuery में, चयन-मेनू के मान पर निर्भर करते हुए आप इन फ़ील्डरों को दिखा/छुपा सकते हैं, उदा।
<fieldset id="f1">
<input name="something1" />
<input name="something2" />
<input name="something3" />
</fieldset>
<fieldset id="f2">
<input name="something4" />
<input name="something5" />
<input name="something6" />
</fieldset>
<select name="fieldset-choice">
<option value="f1">Fieldset 1</option>
<option value="f2">Fieldset 2</option>
</select>
<script type="text/javascript">
jQuery('select[name=fieldset-choice]').change(function(){
var fieldsetName = $(this).val();
$('fieldset').hide().filter('#' + fieldsetName).show();
});
// We need to hide all fieldsets except the first:
$('fieldset').hide().filter('#f1').show();
</script>
नोट: उपरोक्त तकनीक पूरी तरह से विनीत होने के लिए आप गतिशील रूप से सभी विभिन्न fieldsets के नाम के साथ चयन-मेनू का निर्माण करना चाहते हो सकता है।
वैकल्पिक रूप से आप उस गुण के अनुसार शो उपसर्ग कर सकते हैं प्रत्येक क्षेत्रों के लिए एक सार्थक उपसर्ग के साथ नाम, और फिर छिपाने /:
<input name="group1-name1" />
<input name="group1-name2" />
<input name="group2-name3" />
<input name="group2-name4" />
<input name="group2-name5" />
<select name="field-choice">
<option value="group1">Group 1</option>
<option value="group2">Group 2</option>
</select>
<script type="text/javascript">
jQuery('select[name=field-choice]').change(function(){
var groupName = $(this).val();
$('input').hide().filter('[name^=' + groupName + ']').show();
});
// We need to hide all fields except those of the first group:
$('input').hide().filter('[name^=group1]').show();
</script>
जल्दी पद के लिए क्षमा करें, उंगली कुंजीपटल पर फिसल गया। ऐसा लगता है कि मुझे इसके लिए एक डाउनवोट मिला है। – bendewey
यह चाहिए।(); $ (इस) के साथ प्रतिस्थापित किया जाएगा।(); –
मैंने इसका परीक्षण किया और यह काम करता है। बस ध्यान दें, आपको प्रारंभ में दृश्यों को छिपाने/डिफ़ॉल्ट दिखाने की आवश्यकता हो सकती है। – bendewey