Ho uno script, messo insieme da più fonti perché io da solo so far pochino
, che rende visibili o invisibili alcune parti di una pagina, sia cliccando su dei link sia selezionando o deselezionando dei checkbox.
In particolare mi serve avere una serie di checkbox che, quando selezionati, visualizzano diverse sezioni, e quando deselezionate le nascondono.
In aggiunta a questi mi serve due link testuali, uno che visualizza l'altro che nasconde tutto insieme.
Il problema nasce quando dopo aver visualizzato una parte selezionando una checkbox, e averla nascosta con il link testuale, la checkbox risulterà ancora selezionata sebbene la sua sezione sia nascosta.
Mi serve quindi aggiungere alle funzioni "nascondi/visualizza tutto" un comando che controlla anche le checkbox.
ecco il codice che ho già messo insieme:
codice:
<html>
<head>
<style>
.toggle { display: none; }
</style>
<script language="JavaScript">
function toggleAll(itemname,state)
{
tmp = document.getElementsByTagName('div');
for (i=0;i<tmp.length;i++)
{
if (tmp[i].className == itemname) tmp[i].style.display = state;
}
}
function toggle(idname)
{
document.getElementById(idname).style.display =
(document.getElementById(idname).style.display == 'none') ? 'block' : 'none';
}
</script>
</head>
<body>
<div id="blocka" class="toggle"> Sezione A </div>
<div id="blockb" class="toggle"> Sezione B </div>
<div id="blockc" class="toggle"> Sezione C </div>
Show All
Hide All
Toggle A
<input id="ckbx" type="checkbox"
onclick="document.getElementById('blocka').style.display = (this.checked)?'block':'none';">
visualizza A
Toggle B
<input id="ckbx" type="checkbox"
onclick="document.getElementById('blockb').style.display = (this.checked)?'block':'none';">
visualizza B
Toggle C
<input id="ckbx" type="checkbox"
onclick="document.getElementById('blockc').style.display = (this.checked)?'block':'none';">
visualizza C
</body></html>
dovrei inserire qualcosa tipo (perdonate le eresie che scriverò):
('state' == 'none') ? document.getElementById(ckbx).style = 'checked' : 'unchecked'
all'interno della funzione "toggleAll"
è possibile?
Grazie