Cita:
Iniciado por buzu
parentNode debe funcionar. Usas por ejemplo el evento change del checkbox, algo parecido a:
Código javascript
:
Ver originalvar chB = document.getElementById('idDeTuCheckbox');
chB.onchange = function(){
if(this.checked = 'checked'){
this.parentNode.getElementById('idChecboxdeParentNode').cheked = '';
}else{
this.parentNode.getElementById('idChecboxdeParentNode').cheked = 'checked';
}
}
Hace tiempo que no trabajo con checkbox por lo que no estoy muy fresco en el asunto de comprovar si está checado o no, pero la idea es esa.
Bueno, se me olvidó mencionar que no se el número de padres que puede haber. Es decir, que debería de coger varios padres (no se cuantos), todos los que haya por arriba.
Estoy usando un script que me coje todos los HIJOS con checkbox que hay por debajo de un LI, pero no se como hacer lo contrario...
Es decir, no se me ocurre qué puedo hacer para quedarme solo con los padres de un hijo...
Código javascript
:
Ver originalvar padreDIV=chk;
//este bucle son cosas mias, que hay más cosas dentro de cada <li> (divs, checkbox...etc)
//que me tengo que ir saltando hasta llegar al LI padre
while( padreDIV.nodeType==1 && padreDIV.tagName.toUpperCase()!="LI" ){
padreDIV=padreDIV.parentNode;
}
//ahora que padreDIV es el DIV, cogeremos todos sus checkboxes
var padreDIVinputs=padreDIV.getElementsByTagName("input");
for(var i=0; i<padreDIVinputs.length; i++) {
if( padreDIVinputs[i].getAttribute("type")=="checkbox" ){
padreDIVinputs[i].checked = chk.checked;
}
}
PD: he modificado el código HTML que puse en el primer post. Se me olvidaron unos cuantos <ul>