Autor Zpráva
slovakCZ
Profil
Dobry den,
v Javascriptu nejsem vubec zabehnuty, proto se obracim na Vas s dotazem.
Nasel jsem na internetu skript, tery mi obarvi radek ta bulky po kliknuti na check box.. dale jsem nasel skript, ktery mi po kliknuti na dany checkbox zaskrtne vsechyn checboxy... oba dva skripty funguji bezvadne, ale problem nastava kdyz maji fungovat soucasne.. tim myslim to, ze kdyz kliknu na dany checkbox, ktery mi ma zaskrtnout vsechny checkboxy, tak to sice udela, ale jiz se neobarvi vsechny radky tabulky...

zde je kod:
javascript:
/* zaskrtnuti vsech polozek - checkboxu */
checked=false;
function checkedAll (checkAll) {
	var aa= document.getElementById('checkAll');
	 if (checked == false)
          {
           checked = true
          }
        else
          {
          checked = false
          }
	for (var i =0; i < aa.elements.length; i++) 
	{
	 aa.elements[i].checked = checked;
	}
      }
      
      
/* obarveni radku po kliknuti na checkbox */
function check(it) {
  tr = it.parentNode.parentNode;
  tr.style.background = (it.checked) ? "#c9ffb1" : "white";
}


html:
<table id="frm1">
  <tbody>
    <tr>
      <th><input type="checkbox" onclick="checkedAll();" name="checkall"></th>
      <th>Nadpis</th>
      <th>Popis</th>
    </tr>
    <tr class="">
      <td><input type="checkbox" name="chk2"  onclick="check(this)"></td>
      <td>AAA</td>
      <td>BBB</td>
    </tr>
    <tr class="">
      <td><input type="checkbox" name="chk3"  onclick="check(this)"></td>
      <td>AAA</td>
      <td>BBB</td>
    </tr>
  </tbody>
</table>


nemate nekdo nejaky napad, jak zpusobit to, aby se po kliknuti na dany checkbox, ktery zaskrtne vse obarvily radky?
Chamurappi
Profil
Reaguji na slovakaCZ:
Přidej za patnáctý řádek:
check(aa.elements[i]);
slovakCZ
Profil
no jo :) funguje to krasne :)

dekuju moc za radu, at jezisek donese neco hezkeho ;)!
slovakCZ
Profil
aha :) tak jsem zjistil celkem neprijemnou vec, pouzivam to napr u seznamu uzivatelu.. v prpade ze uzivatel je admin, tak checkbox by mel byt "disabled" (jelikoz zasktunte polozky se mazou, tak abych omylem nesmazal nekdy administratora). nastavil jsem tedy pro jeden dany radek toto:
<input type="checkbox" disabled name="chk3"  onclick="check(this)">

a po kliknuti an ten rvni input (aby oznacil vse), mi zaskrtne prave i tento disabled button.. nevim tedy zda ve finale po odeslani formulare nebude hodnota z disabled buttonu ignorovana (nemam to jeste doprogramovane) ovsem bojim se ze ne.

Nemate s tim nekdo zkusenosti?

prikladam ilustracni obrazek:
Chamurappi
Profil
Reaguji na slovakaCZ:
Stačí, když před patnáctý řádek přidáš podmínku, která v případě zakázaného zaškrtávátka zabrání zaškrtnutí i obarvení. Jelikož v cyklu nic jiného není, můžeš použít příkaz continue k přeskočení na další průběh:
if(aa.elements[i].disabled) continue;

nevim tedy zda ve finale po odeslani formulare nebude hodnota z disabled buttonu ignorovana
Bude ignorována. Zakázané formulářové prvky se nikdy neodesílají.
slovakCZ
Profil
ah tak :) dekuji moc.

jj koukam, bude to ignorovane, ale lepsi aby to nebylo zaskrtle, nekteri uzivatele by z toho mohli byt trosku zmateni ve finale :)

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: