如何在选择上显示整个div

时间:2012-05-03 05:30:41

标签: javascript jquery html

每当有人从标签中选择某个选项时,我需要一些帮助,在其中显示带有表单的div。我的代码是这样的:

    <script type="text/javascript">
        $(function() {
            $('#contactOptionSelect').change(function() {
                    $('.emailForm').hide();
                    $('#' + $(this).val()).show();
                });
            });

    </script>
        <div class="contactSelect" id="contactOptionSelect">
            <label for="selectContact">Contact us: </label>
            <select name="selectContact" class="selectContactType" style="width: 150px;"/>
                <option class="opt" value="">Please select</option>
                <option class="opt" id="helpOpt" value="">Help and Support</option>
                <option class="opt" id="emailOpt" value="">Email</option>
                <option class="opt" id="visitOpt" value="">Visit us!</option>
                <option class="opt" id="phoneOpt" value="">Phone</option>
            </select>
        </div>      
        <div class="emailForm" id="emailFormId">
            <form id="contactUsForm" method="post" action="">
                <div class="formSubject">
                    <label for="inputSubject">Subject</label>
                    <input type="text" width="50px" id="inputSubject" />
                </div>
                <div class="formBody">
                    <label for="inputBody">Email</label>
                    <textarea rows="15" cols="50" id="inputBody"></textarea>
                </div>
                <div class="formSubmit">
                    <input type="submit" id="inputSubmit" value="Send!"/>
                </div>
            </form>
        </div>

我想在选择电子邮件选项时显示最后一个表单。我有点希望它能像这样工作:http://www.apple.com/privacy/contact/高标准我知道,但不管哈哈,事先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你正在寻找这样的东西吗? http://jsbin.com/okakuy/edit#javascript,html

每当更改选择选项时,我们会隐藏div可见的任何内容,并显示div当前选择值为id属性的任何人。

$("#parts").on("change", function(o){
  $(".panels")
    .find("> div:visible")
      .slideUp()
    .end()
    .find("#" + o.target.value)
      .slideDown();
});

加上这个标记:

<select id="parts">
  <option>foo1</option>
  <option>foo2</option>
  <option>foo3</option>
</select>
<div class="panels">
  <div id="foo1">This is foo1</div>
  <div id="foo2">This is foo2</div>
  <div id="foo3">This is foo3</div>
</div>