Autor Zpráva
pmasarik
Profil
Zdravím,

Mám funkciu ktorá má robiť to že zaškrtne/odškrtne checkbox po kliknutí kdekoľvek na riadok tabuľky v ktorom sa ten checkbox nachádza.
JS neovládam a toto som si napísal sám po hodine hľadania hotového riešenia (nič som nenašiel), ale problém je v tom že to síce funguje ale už sa nedá zaškrtnúť/odškrtnúť checkbox po kliknutí naň.
Nevie niekto ako túto nežiaducu vlastnosť odladiť?

Úryvok z HTML
<tr onClick="OffCheckboxes(536)">
 <td><input type="hidden" name="generuj[536]" value="0">
 <input type="checkbox" checked name="generuj[536]" id="generuj_536" value="1" /></td>
 <td>8017000008</td>
 <td>Názov</td>
...
</tr>


JS
function OffCheckboxes(num) {
  var yy = 'generuj_'+num;
  if(document.formular[yy].checked == true){
      document.formular[yy].checked = false;
  } else {
      document.formular[yy].checked = true;
  }
}
Nox
Profil
Viděl bych problém v tom, že když klikneš na checkbox, tak se to zároveň bere jako klik i na ostatní prvky na tom místě, což je i to tr, takže se to zaškrtne, ale zároveň odškrtne nebo naopak...

Myslím že se tomu říká propagation nebo tak nějak, ale jak to řešit teď zrovna nevím
pmasarik
Profil
No to napadlo aj mňa tak som dal tú onclick funkciu aj na ten checkbox a problém je fuč :)
Ale asi je to prasácke riešenie...
Tin
Profil
nestačilo by použít <label>?
pmasarik
Profil
nestačilo by použít <label>?

Toto som vyskúšal ako prvé, ale <label> nejde dať na celý riadok <tr>.
Tin
Profil
co dát label extra do každý buňky?
pmasarik
Profil
co dát label extra do každý buňky?
Neskúšal som ako funguje label ale predpokladám že len na obsah/text a ja potrebujem docieliť že ked mám zoznam produktov v tabulke (vypísaných je viac udajov) cca 500 riadkov aby som si vybral čo najjednoduchšie čo chcem editovať.
Triafanie na checkbox bolo zložité preto som hladal riešenie ako je napríklad v PhpMyAdmine, že môžeš kliknúť kdekolvek na riadok a checkbox sa označí.
Tin
Profil
nevím, co všechno potřebuješ, teď jsem si to vyzkoušel, do labelu jde narvat obrázek, odstavec, může být víc labelů k jednomu checkboxu

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: