Autor Zpráva
Jan Tojnar
Profil
Když odškrtnu checkbox tak se skryjí položky i se třídou m i se třídou w položky s jinou třídou se neskryjí.
Mám formulář
<form id="zak" onchange="zacikontrol()">
<div>
<label><input type="checkbox" name="mb" checked="true"><img src="m.png" alt=""></label>
<label><input type="checkbox" name="wb" checked="true"><img src="w.png" alt=""></label>
</div>

a skript
var m=document.getElementsByClassName('m');
var w=document.getElementsByClassName('w');
var mb=document.getElementsByName('mb');
var wb=document.getElementsByName('wb');
function zacikontrol(){
if(mb.checked=='true'){
var j=m.length;
for(var i=0; i<j; i++){
m[i].style.display = 'list-item';
}
}
if(mb.checked!=='true'){
var j=m.length;
for(var i=0; i<j; i++){
m[i].style.display = 'none';

}
}
if(wb.checked=='true'){
var j=w.length;
for(var i=0; i<j; i++){
w[i].style.display = 'list-item';
}
}
if(wb.checked!=='true'){
var j=w.length;
for(var i=0; i<j; i++){
w[i].style.display = 'none';
}
}
}

Nevíte jak udělat aby se zobrazili jen zaškrtnuté položky
Str4wberry
Profil
Nemůže být problém v tom, že getElementsByClassName všude nefunguje?
Jan Tojnar
Profil
A neexistuje alternativa která by fungovala?
Chamurappi
Profil
Reaguji na Jana Tojnara:
Atribut checked se v HTML zapisuje buď jako „checked“, nebo jako „checked="checked"“, nikdy ne „checked="true"“ — i když to přohlížeče tolerují.

Vlastnost checked u checkboxů nabývá hodnot true nebo false (podle toho, zda je atribut uveden). Nikdy ne "true".

if(wb.checked=='true')“ — to bude vždy vyhodnoceno záporně.
if(wb.checked!=='true')“ — to bude vždy vyhodnoceno kladně.

Také si zjisti, jaký je rozdíl mezi „!=“ a „!==“. (I když zrovna v tomto případě na tom nesejde.)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0