Я пытаюсь динамически скрывать / показывать несколько строк таблицы, используя Javascript для имитации свертывания / развертывания. Вот соответствующие фрагменты кода:
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>
В Firefox все хорошо. Однако в IE, после того, как в первый раз любая строка скрыта, когда она скрыта, в нижней части появляется дополнительное пространство. Это не происходит, когда rowspan не используется. Я перепробовал много вещей, но не смог избавиться от лишнего места.
Я был бы очень признателен, если бы кто-нибудь дал мне подсказку.