2010-04-08 2 views
0

아코디언 메뉴를 사용하여 데이터 테이블을 필터링하고 있습니다. 메뉴에는 두 개의 필터가 있으며 각각 아래에 여러 옵션이 있습니다. 한 번에 하나의 필터 만 선택할 수 있습니다. 첫 번째 필터 아래에서 두 옵션 사이를 클릭하면 스타일 클래스 'selected'가 문제없이 추가되고 제거됩니다. 두 번째 필터 아래에있는 옵션을 클릭하면 첫 번째 필터에서 'selected'클래스가 제거되지 않습니다. 어떤 도움을 주시면 감사하겠습니다. 고맙습니다.jQuery Accordion Plugin : removeClass ('selected')

<script src="http://code.jquery.com/jquery-1.4.2.js" type="text/javascript"></script> 
<script src="http://jquery.bassistance.de/accordion/jquery.accordion.js" type="text/javascript"></script> 


<div> 
<script type="text/javascript"> 
// <![CDATA[ 
jQuery.noConflict(); 
jQuery(document).ready(function(){ 
    jQuery('#navigation').accordion({active: 'h3.selected', header: 'h3.head', autoheight: false, }); 
    jQuery('.xtraMenu').accordion({active: 'h4.selected',header: 'h4.head', autoheight: false, }); 

}); 
// ]]> 
</script> 

<style type="text/css"> 
h3, h4 {font-weight: normal} 
h3.selected, h4.selected {font-weight:bold;} 
</style> 
<ul class="basic" id="navigation"> 
<li> 
    <h3 class="head"><a href="">Filter by Organization</a></h3> 
    <ul> 
    <li> 
     <ul class="xtraMenu basic"> 
     <li> 
      <h4 class="head"><a href="">Association</a></h4> 
     </li> 
     <li> 
      <h4 class="head"><a href="">Business</a></h4> 
     </li> 
     </ul> 
    </li> 
    </ul> 
</li> 
<li> 
    <h3 class="head"><a href="">Filter by Type</a></h3> 
    <ul> 
    <li> 
     <ul class="xtraMenu basic"> 
     <li> 
      <h4 class="head"><a href="">Basic</a></h4> 
     </li> 
     <li> 
      <h4 class="head"><a href="">Advanced</a></h4> 
     </li> 
     </ul> 
    </li> 
    </ul> 
</li> 
</ul> 
</div> 

답변

0

제 1 필터의 '선택'클래스를 제거하는 제 2 필터에 대한 change 이벤트를 사용하여 시도.

jQuery(".xtraMenu").accordion({ 
    active: 'h4.selected', 
    header: 'h4.head', 
    autoheight: false, 
    change: function() { 
     jQuery("#navigation > h3").each(function() { 
      jQuery(this).removeClass('selected'); 
     }); 
    } 
}); 
+0

테스트 페이지의 코드에서 작동하도록 코드 스 니펫을 가져올 수 없습니다. 또한 h3 '필터 기준'헤더 링크가 아닌 h4 하위 메뉴 링크에서 'selected'클래스를 제거하려고합니다. 원하는 기능은 아코디언 메뉴가 한 번에 하나의 h4.selected 만 가질 수 있도록합니다. 하나의 필터 아래에있는 링크 사이를 클릭하면 작동하지만 두 번째 필터에서 링크를 클릭하면 'selected'클래스가 이전에 선택한 h4 링크에서 제거되지 않습니다. – mheppler9d

+0

사용 사례 : -open '조직 별 필터링'을 열고 '연결'을 클릭하고 굵게 표시된 링크를 선택하고 '비즈니스'를 클릭하면 굵게 표시되어 선택한 링크와 이전 링크가 표시됩니다. - '유형별 필터링'을 연 다음 '기본'을 클릭하여 굵게 표시된 링크를 선택합니다. - 이제 '조직 별 필터링'을 열면 '비즈니스'링크가 열립니다. 두 번째 필터에서 '기본'도 굵게 표시되어 있지만 여전히 굵게 표시됩니다. - '비즈니스'와 '굵게'는 동시에 굵게 표시 할 수 없습니다. – mheppler9d