Jesper T Medlem sedan nov. 2001 7 144 inlägg Frågan 3 mars 2005 11:40 #1 Går det att på någe vis dölja delar av en tabell, i.s.f. hur?
ex. det fetmarkerade kan togglas hide/block.
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
[b]<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>[/b]
</table>
Jesper T Medlem sedan nov. 2001 7 144 inlägg En "<tr>" är ju inge problem men jag får inte till det om det är fler.
Jesper T Medlem sedan nov. 2001 7 144 inlägg Det kanske finns smartare sätt, men detta funkar i a f.
<script type="text/javascript">
function showhide(){
var elm,
i = 1;
while (elm = document.getElementById("invoiceaddr_" + i++))
elm.style.display=(elm.style.display=="block")?"none":"block";
}
</script>
<style>
.hide{ display:none }
</style>
<table width="500" border="0" cellspacing="0" cellpadding="3">
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr class="hide" id="invoiceaddr_1">
<td>1</td>
<td> </td>
<td> </td>
</tr>
<tr class="hide" id="invoiceaddr_2">
<td>2</td>
<td> </td>
<td> </td>
</tr>
</table>
Jesper T Medlem sedan nov. 2001 7 144 inlägg Nix, föresten det funkar inte.
Allt Innehåll "trillar in" till den vänstra td-n.
Vad är fel?
dectgap Medlem sedan sep. 2002 1 655 inlägg Egentligen vill du sätta display till "table-row", men eftersom det inte fungerar i IE får man dra till med "block" där.
Som tur är ger IE ett fel om vi försöker sätta display till "table-row" - ett fel som vi kan fånga upp genom ett try-catch-block:
<script type="text/javascript">
function showhide(){
var elm,
i = 1;
while (elm = document.getElementById("invoiceaddr_" + i++))
try {
elm.style.display=(elm.style.display=="table-row")?"none":"table-row";
} catch(e) {
elm.style.display=(elm.style.display=="block")?"none":"block";
}
}
</script>
Jesper T Medlem sedan nov. 2001 7 144 inlägg En liten avstickare:
Denna funkar bara i I.E. finns det någon workaround?
document.getElementById("send").disabled=(document.getElementById("v1").checked)? false : true;
"send" är en button.
"v1" är en checkbox.
dectgap Medlem sedan sep. 2002 1 655 inlägg Eftersom checked är av typen Boolean räcker det med
document.getElementById("send").disabled= !document.getElementById("v1").checked
Är "send" id eller namn på knappen? Om det är namnet (attributet name) så låter IE ändå sig hitta knappen via getElementById().
Visa tillhörande HTML-kod om du fortfarande har problem.
Jesper T Medlem sedan nov. 2001 7 144 inlägg Det var både id och namn. Jag fick inte till det med getElementById ändå.
Däremot så funkade det fint med:
document.shop.subm.disabled = !document.shop.v1.checked;