2011-03-04 3 views
1

Javascript를 사용하여 여러 테이블 행을 동적으로 숨기거나 숨기기를 시도하여 축소/확장을 모방하려고합니다. 여기여러 줄을 동적으로 접을 때 rowspan이있는 IE7

function selectionFilter(check, filter){ 
     var elem = document.getElementById('myScrollTable').rows; 
     for(i = 0; i < elem.length; i++){ 
      var type = elem[i].getAttribute('type'); 
      if(type== filter){ 
       if(check == true){ 
        elem[i].style.display=''; 
       }else{ 
        elem[i].style.display='none'; 
       } 
      } 
     } 
    } 

및 샘플 HTML입니다 : 파이어 폭스 모두에서

<input type="checkbox" checked="true" value="t1" onclick="selectionFilter(this.checked, this.value);">some type 1</input > 
<input type="checkbox" value="t2" onclick="selectionFilter(this.checked, this.value);">some type 2</input ><br><br> 
<table cellspacing="1" cellpadding="2" class="" id="myScrollTable"> 
    <thead> 
     <tr> 
      <th>Data1</th> 
      <th>Data2</th> 
     </tr> 
    </thead> 

    <tbody> 
     <tr type="t1"> 
      <td rowspan="50"><a href="something1">something1</a></td><td><a href="something2">something2</a></td> 
     </tr> 
     <tr type="t1"> 
      <td><a href="something2">something2</a></td> 
     </tr> 
      . 
      . 
     <tr type="t2" style="display:none;"> 
      <td rowspan="50"><a href="something1">something1</a></td><td><a href="something2">something2</a></td> 
     </tr> 
     <tr type="t2" style="display:none;"> 
      <td><a href="something2">something2</a></td> 
     </tr> 
      . 
      . 
    </tbody> 
</table> 

괜찮 여기에 관련 코드 조각입니다. 그러나 IE에서는 처음으로 모든 행이 숨겨진 후 숨김 상태가되면 하단에 추가 공간이 추가됩니다. rowspan이 사용되지 않을 때 발생하지 않습니다. 나는 많은 것을 시도했지만 여분의 공간을 없앨 수 없었다.

누군가 내게 힌트를 줄 수 있다면 정말 감사하겠습니다.

+0

아마도 관련이 없습니다 하지만 그 HTML 샘플에서는'type = "t2"'근처에 여는 ''태그가 누락 된 것처럼 보입니다. – thirtydot

+0

알려 주셔서 감사합니다, 그건 사실입니다. 나는 비행 중에 예제를 썼다. 실제로 작동하는 버전이 아닐 수도있다. – amorteza

답변

0

블록을 빈 문자열 대신 사용해 보셨습니까?

당신이

elem[i].style.display = 'block'; 

를 사용하여 시도해야하고 이것이 실패 할 경우

elem[i].style.display = 'table-row'; 

을 시도해야하고에 allways 당신은 W3 스쿨 설명서를 확인해야합니다이 경우, 그 정말 http://www.w3schools.com/css/pr_class_display.asp

텔미를 유용 당신을 위해 일합니다

+0

답변 해 주셔서 감사합니다. 나는 그 선택을 시도했다. 그러나 나는 불행하게도 운이 없었다. 옆에 내가 제공 한 HTML 코드 (이동 행 스파 스 = "012"에서 태그로 로 바뀌 었습니다, 내 나쁜) – amorteza

관련 문제