2012-05-03 5 views
4

누군가가 태그에서 특정 옵션을 선택할 때마다 그 안에 양식이있는 div를 표시하는 데 도움이 필요합니다. 내 코드는 다음과 같습니다.select에서 전체 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/ 높은 기준 내가 알고 있지만 무엇이든 하하 어떤 도움을 주셔서 미리 감사드립니다!

+0

애니메이션 & 자체가 jQuery를/jQuery를 UI와 같은 라이브러리 요즘 할 정말 쉽습니다. 고광택의 외관과 느낌은 동급생이 되기는 어렵지만 뚜렷하게 남아 있습니다 (사과 클론처럼 보이지 않음). 그들은 많은 디자이너를 고용합니다 :) –

답변

1

당신이 뭔가를 찾고 계십니까? 선택 옵션이 변경 될 때마다 http://jsbin.com/okakuy/edit#javascript,html

, 우리는 div 표시이며, 그 id 속성으로 현재 선택 값을 갖는 중 div 공연 중 숨 깁니다.

$("#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> 
+0

저는 OP가 아니지만 구현이 좀 이상 할 수도 있습니다. 이 애니메이션 중 한두 가지만 강제로 작동하도록하는 방법이 있습니까? 키보드를 사용하여 옵션 사이를 매우 빠르게 전환하면 3 개의 애니메이션이 모두 동시에 활성화 될 수 있으므로 div에 더 많은 콘텐츠가있을 때 레이아웃 문제가 발생할 수 있습니다. 비트 니티 - 피키,하지만 애플 사이트가 애니메이션을 중단하고 즉시 해당 div 사이에 전환 할 때 사라질 것 같습니다. –

+1

@ MerlynMorgan-Graham 효과를 'slideUp'에서'hide'로,'slideDown'에서'show'로 바꿀 수 있습니다. – Sampson

관련 문제