2014-10-22 4 views
2

확장 가능한 일부 테이블 행이 있지만 한 행을 확장 할 때 다른 모든 축소 할 때 그렇게 만드는 방법을 모르겠습니다.Jquery 한 번에 한 행을 확장하십시오.

JQuery와 :

$(document).ready(function() { 
    $('.expandable').click(function() { 
    $(this).nextAll('tr').each(function() { 
     if ($(this).is('.expandable')) { 
      return false; 
     } 
     $(this).toggle(350); 
    }); 
    }); 
    $('.expandable').nextAll('tr').each(function() { 
    if (!($(this).is('.expandable'))) $(this).hide(); 
    }); 
}); 

HTML :

$('.expandable').click(function() { 
    $(".expandable").slideUp(); 
    $(this).slideDown(); 
}); 
+0

이것을 재현하는 데 필요한 'HTML'및 'CSS'를 제공하십시오. –

답변

0

당신은 click()을 쿠르하는 숨어있는 기능을 추가해야합니다

<table border="0"> 
<tbody> 
<tr class="expandable"> 
+0

이것은 완벽했습니다. 고맙습니다! – tonylka10

+0

하지만 두 번째 버튼을 클릭하면 행이 접히지 않습니다. http://www.emich.edu/residencelife/staging/staff-1-1-1.php – tonylka10

+0

내 솔루션을 업데이트했습니다. (this)'는 현재 클릭 된 요소를 선택기 결과에서 제외하고'show()'대신'toggle()'을 사용할 수있게합니다. – Daniel

1

그냥 같은 클래스와 다른 모든 행 축소 다음과 같이 작동합니다 :

$('.expandable').click(function() { 
    $('.expandable').not(this).nextAll('tr').hide(); 
    $(this).nextAll('tr').toggle(); 
}); 

첫 번째 행은 모두 <tr>을 숨기고 두 번째 행은 선택된 행을 표시합니다.

+0

고마워요! 이것은 나에게 무엇을 해야할지에 대한 좋은 아이디어를 제공하지만, 여러분이 제공 한 코드를 어디에서 구현해야할지 모르겠습니다. – tonylka10

+0

@AnthonyKaake - 현재 '확장 가능'클릭 기능을이 기능으로 바꿉니다. – tymeJV

관련 문제