2014-02-24 2 views
-2

나는 3 단계의 div가 있습니다. 내가 작업 div에서 버튼을 선택할 때 몇 가지 옵션 (중요 : 마지막으로 표시된 옵션 (및 카테고리) 숨기기)이 표시되어야합니다. 일부 옵션 버튼을 클릭하면 카테고리가 표시됩니다. ?이 온 클릭 속성 모든 변형을 작성하는 것보다 훨씬 깨끗 볼 수 있도록하는 방법 (이 내가 여기에 훨씬 더 큰 예를 단지 예이다 -. 각 옵션에 대한 많은 옵션, 많은 카테고리를)jQuery 중첩 div 숨기기

<div id="action"> 
    <p:commandButton onclick="$('#option1').show(); "$('#option2').hide();"/> 
    <p:commandButton onclick="$('#option1').hide(); "$('#option2').show();"/> 
</div> 

<div id="option1" style="display:none"> 
    <p:commandButton onclick="...?"/> 
    <p:commandButton onclick="...?"/> 
</div> 

<div id="option2" style="display:none"> 
    <p:commandButton onclick="...?"/> 
    <p:commandButton onclick="...?"/> 
</div> 

<div id="option1category1" style="display:none"> 
    <p:commandButton /> 
</div> 
<div id="option1category2" style="display:none"> 
    <p:commandButton /> 
</div> 
<div id="option2category1" style="display:none"> 
    <p:commandButton /> 
</div> 
+2

버튼에 클래스를 지정하고 $ (". 버튼 클래스")를 사용합니다. 전환()? – Tessmore

+0

하지만 어디서, 왜? toll은 숨겨야 할 요소들을 보여줍니다. 나는 항상 $ (". category")를 사용할 수 있었고 hide()와 $ ("# option1category1") 하나만 보여 주었다. – user2771738

+0

버튼 요소가 모두 잘못되었습니다! 예를 들어 요소는 존재하지 않으므로

답변

0

있습니다 마크 업에 많은 오류가 있습니다. button 태그는 img 태그와 동일하게 사용되지 않습니다. 버튼 태그에는 시작 및 닫기 요소가 있습니다.

또한 div는 <div> 대신 </div> 태그로 마감해야합니다.

나는 아마도 당신이 찾고있는 몇 가지 기본적인 기능을 스케치했다.

$('#button1').click(function(){  
    $('div[id^="option"]').hide(); 
    $('#option1').show(); 
}); 

$('#button2').click(function(){ 
    $('div[id^="option"]').hide(); 
    $('#option2').show(); 
}); 

이 코드는 옵션으로 ID를 시작하는 모든 div를 숨긴 다음 그 중 하나를 표시합니다.

전체 마크 업을 확인하려면 바이올린을 확인하십시오.

http://jsfiddle.net/ef4ux/

+0

모든 오류가 수정되었습니다. 솔루션에 관해서는 50 개 이상의 버튼이 있습니다. 각 버튼에 클릭 기능을 생성하는 것보다 나은 솔루션을 찾고 있습니다. – user2771738

+0

@ user2771738 그런 다음 Arun P가 제안한 것처럼 데이터 타겟과 같은 식별자가 필요합니다. – timo

+0

지금은 왼쪽에만 일부 primefaces 버튼 같은 속성이 있습니다 :) – user2771738